【问题标题】:Converting a 2.000000000000000000e+00 type number to int?将 2.0000000000000000000e+00 类型数转换为 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'

【问题讨论】:

标签: python-3.x type-conversion


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 2014-02-20
    • 2013-08-19
    • 1970-01-01
    • 2016-03-12
    • 2017-11-05
    相关资源
    最近更新 更多