将 2.0000000000000000000e+00 类型数转换为 int?

Posted

技术标签:

【中文标题】将 2.0000000000000000000e+00 类型数转换为 int?【英文标题】:Converting a 2.000000000000000000e+00 type number to int? 【发布时间】:2019-05-16 19:46:37 【问题描述】:

如何转换这种类型的数字: 2.000000000000000000e+00 到一个 int(值为 2)?

谢谢!

def read_labels_from_file(file_name):
    labels_file = open(file_name, "r")
    labels = []

    for line in labels_file:
        line_sepetated = line.split("\n")
        labels.append(int(line_sepetated[0]))
    return labels

我希望将整数 2 附加到标签,但得到: ValueError: int() 以 10 为底的无效文字:'2.000000000000000000e+00'

【问题讨论】:

Converting number in scientific notation to int的可能重复 【参考方案1】:

2.000000000000000000e+00 是一个有效的浮点字面量,因此您可以先将其转换为 float,然后再将其转换为 int

labels.append(int(float(line_sepetated[0])))

【讨论】:

以上是关于将 2.0000000000000000000e+00 类型数转换为 int?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我们需要将 e.target.name 放在方括号 [] 中? [复制]

如何将数据保存为给定格式的文本文件?

为啥 MySQL 将 é 视为与 e 相同?

将 9.90000000e+01 更改为 numpy nans

linux BASH shell下设置字体及背景颜色

信息 o.a.j.e.StandardJMeterEngine:线程将继续出错