品易云推流 关闭
文章详情页
文章 > Python常见问题 > python怎么把字符串转化成数字

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

头像

silencement

2019-12-05 13:51:0519900浏览 · 0收藏 · 0评论

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,所以也应该可以对其它语言的数值进行识别。

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

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图