Я читаю текстовый файл с номерами с плавающей запятой, все с 1 или 2 десятичными точками. Я использую float()
для преобразования строки в float и повышения ValueError
, если это не удается. Я сохраняю все поплавки в списке. Когда вы распечатываете его, я хотел бы распечатать его в виде плавающей запятой с двумя запятыми.
Предположим, у меня есть текстовый файл с цифрами -3,65, 9,17, 1. Я читаю каждый из них и однажды конвертирую их в float и добавляю их в список. Теперь в Python 2 вызов float(-3.65)
возвращает -3.65
. В Python 3, однако, float(-3.65) returns
-3.6499999999999999`, который теряет свою точность.
Я хочу напечатать список поплавков, [-3.6499999999999999, 9.1699999999999999, 1.0]
только с двумя десятичными запятыми. Выполнение чего-то в строках '%.1f' % round(n, 1)
вернет строку. Как я могу вернуть список всех двух десятичных точек поплавков, а не строк? До сих пор я округлял его с помощью [round(num, 2) for num in list]
, но вместо round()
нужно было установить десятичные точки/точность.