У меня есть список поплавков, которые я хочу округлить до двух чисел; Я использовал ниже линии для этой цели:Как округлить до ближайшего нижнего плавания в Python?
item = ['41618.45110', '1.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '41619.001202', '3468.678822']
print ["{0:.2f}".format(round(float(x), 2)) if re.match("^\d+(\.\d+)?$", x) else x for x in item]
Она округляет все члены списка до ближайшего верхнего поплавка, который вызывает 3468.678822
быть округлены до 3468.68
, но я хочу, чтобы округлить их до ближайшего нижнего поплавка, так 3468.678822
должен округлить до 3468.67
. Существует исключение для 0
; Я хочу, чтобы числа, равные 0
, оставались 0
.
Я попытался использовать команду выше без round
и даже float
функции, и результат был таким же. Я также попытался:
[x[:x.index('.')] if re.match("^\d+(\.\d+)?$", x) else x for x in item]
Который дал мне Substring not found
ошибку.