去掉小数的末尾零

11 浏览
0 Comments

去掉小数的末尾零

我有一个长长的小数列表,根据特定条件我需要通过10、100、1000、...、1000000的因素进行调整。当我将它们相乘时,有时会出现一个无用的尾随零(虽然不总是),我想要去掉它。例如...

from decimal import Decimal
# 输出25.0,问题!我希望它输出25
print Decimal('2.5') * 10
# 输出2567.8000,问题!我希望它输出2567.8
print Decimal('2.5678') * 1000

有没有一个函数可以告诉十进制对象丢弃这些无关的零?我唯一能想到的方法是将其转换为字符串,并使用正则表达式进行替换。

应该提到我正在使用Python 2.6.5

编辑

senderle的很好的答案让我意识到,我偶尔会得到一个像250.0这样的数字,当规范化后会产生2.5E+2。我想在这些情况下尝试解决并转换为整数。

0