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

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

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

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

    可以用float进行转换

    测试用例:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    >>> 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可以转换可以转换科学技术法的数值:

    1

    >>> float('1e3')1000.0

    推荐学习《python教程

    转换示例:

    1

    2

    3

    4

    5

    6

    7

    8

    def str_to_float( s):

      """字符串转换为float"""

      if s is None:

        return 0.0

        try:

          return float(s)

        except Exception:

          return 0.0

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

    1

    2

    >>> s='12%'

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

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

    1

    2

    3

    >>> 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学习网