python - 自动将字符串转换为正确的数字类型

标签 python string

我想知道是否有一种优雅而简单的方法可以将字符串(我知道可以转换为数字)转换为相应的数字类型。例如,如果我的字符串表示一个整数,我希望将该值转换为 intlongfloat 等也是如此。

最佳答案

您可以使用 ast.literal_eval

import ast

examples = ["1", "1.5", "999999999999999999999999999999999999999999", "23+42j"]
for item in examples:
    result = ast.literal_eval(item)
    print result
    print type(result)

结果:

1
<type 'int'>
1.5
<type 'float'>
999999999999999999999999999999999999999999
<type 'long'>
(23+42j)
<type 'complex'>

关于python - 自动将字符串转换为正确的数字类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29801651/

相关文章:

python - 将包含联系人的 MySQL 数据库导出到兼容的 CardDav 系统

python - 尝试加入两个 pandas 数据帧但得到 "ValueError: You are trying to merge on object and int64 columns."?

c# - 改进解析解决方案

c - 如何使用 strcpy 将字符串数组存储到结构中?

c - 过滤一个缓冲区并将其复制到另一个 C

python 导入嵌套类

python - django - 无法使用同一用户多次保存模型

python - 以尽可能低的时间复杂度,从列表中第一个较小的数字中减去列表中的每个数字

MySQL字符串选择命令

Python 搜索字符串中的值