• 技术文章 >常见问题 >Python常见问题

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

    silencementsilencement2019-12-05 13:51:05原创19701

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

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

    专题推荐:类型转换
    上一篇:python中使用import导入re库失败怎么办 下一篇:python怎么安装才快

    相关文章推荐

    • python的数据类型有哪些• Python支持哪些数据类型

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网