команда раунда не может получить требуемый результат

1

В следующем коде, когда я печатаю значение h в цикле for, он печатает значения 1.2, 1.4, 1.6. Но я хочу ровно 1,20, 1,40, 1,60. Я пытался использовать круглую функцию, но результат все тот же. Как я могу получить точные значения 1.20, 1.40, 1.60 внутри цикла for?

low =[1.20, 1.40, 1.60, 1.80, 2.00, 2.20, 2.40]
for k in range(len(low)):
    h = round(low[k],2)
    print(h)
  • 1
    Изучите форматирование (то, что вы делаете со строками, чтобы они отображались определенным образом), а не округление (это математическая операция, не имеющая отношения к вашей проблеме здесь).
Теги:

1 ответ

5
Лучший ответ

Попробуй это:

print("{:.2f}".format(h))

Это не проблема округления, а проблема форматирования вывода. Другими словами, число правильно округлено, просто так, что при печати нулевой конечный результат не распечатывается, поэтому вы хотите, чтобы форматирование принудительно выводило нули.

  • 0
    Я применил оператор форматирования строки, теперь функция печати выдает точный результат. Но я также хочу, чтобы значение h было точно равно 1.20,1.40. Поскольку я сохранил некоторые файлы с этими значениями, когда я пытаюсь загрузить их, он говорит, что такого файла или каталога не существует. и его причина в том, что значение h составляет 1,2 и 1,4 вместо 1,20 и 1,40
  • 1
    @herry Числа хранятся в виде чисел на компьютере. 1.2 не отличается от 1,20 в этом случае. Вопрос только в том, как он представлен вам, а не в том, как он представлен внутри. Вам не нужно беспокоиться об этом.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню