удалить конечные нули из десятичной дроби

У меня есть длинный список десятичных знаков, и я должен скорректировать их с коэффициентами 10, 100, 1000,..... 1000000 в зависимости от определенных условий ... Когда я их умножаю, иногда появляется бесполезный конечный нуль (хотя и не всегда), от которого я хочу избавиться. Например...

from decimal import Decimal

# outputs 25.0,  PROBLEM!  I would like it to output 25
print Decimal('2.5') * 10

# outputs 2567.8000, PROBLEM!  I would like it to output 2567.8
print Decimal('2.5678') * 1000

Есть ли функция, которая говорит десятичному объекту отбрасывать эти незначащие нули? способ, который я могу придумать, - это преобразовать в строку и заменить их с помощью регулярных выражений.

Вероятно, следует упомянуть, что я использую python 2.6.5

РЕДАКТИРОВАТЬ Прекрасный ответ senderle заставил меня понять, что иногда я получаю число вроде 250,0, которое при нормализации дает 2,5E + 2. Я думаю, в этих случаях я мог бы попытаться отсортировать их и преобразовать в int

37
задан b10hazard 27 June 2012 в 14:00
поделиться