Преобразование номера типа 2.000000000000000000e + 00 в int? - PullRequest
0 голосов
/ 16 мая 2019

как я могу преобразовать этот тип числа: 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'

1 Ответ

0 голосов
/ 16 мая 2019

2.000000000000000000e+00 является допустимым литералом с плавающей запятой, поэтому вы можете сначала преобразовать его в float перед преобразованием в int:

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