python怎么把字符串转化成数字

python中的int函数
只能把整数字符串转换转换成整数
另外可用于取出float的整数部分

可以用float进行转换

测试用例:

>>> s1='123'
>>> s2='1.23'
>>> s3=''
>>> s4=None
>>> int(s1)123
>>> int(s2)ValueError
>>> int(s3)ValueError
>>> int(s4)TypeError
>>> float(s1)123.0
>>> float(s2)1.23
>>> float(s3)ValueError
>>> float(s4)TypeError

顺便一提,float可以转换可以转换科学技术法的数值:

>>> float('1e3')1000.0

推荐学习《python教程》

转换示例:

def str_to_float( s):
  """字符串转换为float"""
  if s is None:
    return 0.0
    try:
      return float(s)
    except Exception:
      return 0.0

对于带百分号的数值字符串处理方法

>>> s='12%'
>>> float(s.rstrip('%'))/1000.12

对于中文字符的数值字符,可以用unicodedata进行转换。

>>> import unicodedata
>>> unicodedata.numeric('三')3.0
>>> unicodedata.numeric('二十一')TypeError: numeric() argument 1 must be a unicode character, not str

既名为unicodedata,所以也应该可以对其它语言的数值进行识别。

备注:报错信息只取了重要的部分。

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python怎么把字符串转化成数字