如何将字符串转换为数字?

WoJ:

注意:尽管链接的重复项不是重复项(它明确询问要分别转换为int和float),但我仍将其标记为重复项,因为它包含有关该主题的出色信息(以及与我的解决方案类似的答案)

摘要:我正在寻找一种将字符串转换为数字(整数或浮点数)的pythonic方法。

我目前使用瀑布函数,但在起作用时,在美学上并不特别令人满意:

def convert_to_int_or_float(a):
    # maybe an integer
    try:
        return int(a)
    except ValueError:
        # nope - so can be a float or a str
        try:
            return float(a)
        except ValueError:
            # must be a str
            return a

for s in ["0", "12", "-13", "14.7", "-14.7", "hello"]:
    print(s, type(convert_to_int_or_float(s)))

# outputs 
# 0 <class 'int'>
# 12 <class 'int'>
# -13 <class 'int'>
# 14.7 <class 'float'>
# -14.7 <class 'float'>
# hello <class 'str'>

有更好的方法吗?(最好是一个模块)

我看了看,math但没找到任何东西。

拉克什:

一种方法是使用ast模块

例如:

import ast


def convert_to_int_or_float(a):
    try:
        return ast.literal_eval(a)
    except ValueError:
        return a

for s in ["0", "12", "-13", "14.7", "-14.7", "hello"]:
    print(s, type(convert_to_int_or_float(s)))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将字符串值转换为数字混合阵列

如何将数字字符串转换为数字数组?

如何将字符串运算转换为数字?

如何将字符串转换为数字

PHP如何将数字指数数字转换为字符串?

如何将数字列表转换为字符串?

SAS PROC SQL-如何将字符串转换为数字

如何将数字替换/转换为字符串

如何将字符串转换为数字列表

如何将字符串转换为数字?

Julia:如何将字符串类型的向量转换为数字类型(Float64)

如何将“ 0.496,0.424,0.141”这样的字符串转换为数字?

当包含字符串和数字作为字符串时,如何将列转换为数字

如何将JSON字符串转换为数字?

Excel:如何将“字符串”转换为“数字”?

如何将字符串转换为包含数学运算的数字?

如何将字符串转换为整数并使用mysql比较指定数字?

如何将数字字符串转换为日期格式

如何将数字字符串对象转换为可为空的数字

使用Swift如何将字符串转换为数字

仅当字符串仅包含数字元素时,如何将字符串转换为数字

Matlab:如何将字符串转换为数字

如何将数字转换为ASCII值或字符并存储在字符串数组中

如何将字母数字字符串转换为 R 中的数字?

如何将带逗号的字符串转换为数字?

如何将数字的字符串值转换为锚标签内的电话格式?

如何将列表中的数字和字母字符串转换为整数?

如何将时间戳转换为字符串以保存数字?

如何将数字转换为字符串