我有一些Decimal
Python 中的实例。我希望将它们格式化为
Decimal('1') => '1.00'
Decimal('12.0') => '12.00'
Decimal('314.1') => '314.10'
Decimal('314.151') => '314.151'
因此确保始终至少有两位小数,可能更多。虽然不乏舍入到的解决方案n
小数位我找不到任何巧妙的方法来确保数字的下限。
我当前的解决方案是计算:
first = '{}'.format(d)
second = '{:.2f}'.format(d)
并取两者中较长的一个。然而,它似乎有点hackish。
如果您想避免字符串问题:
if d*100 - int(d*100):
print str(d)
else:
print ".2f" % d
未经测试的代码,但它should work.
这工作起来就像这样:
d = 12.345
乘以100:
1234.5
减去整数(1234.5)
1234.5 - 1234 = .5
.5 != 0
这意味着有 3 位或更多小数位。
打印字符串(12.345)
即使您执行 12.3405:
1234.05 - 1234 = .05
.05 != 0
但如果你有 12.3:
1230 - 1230 = 0
这意味着使用 %.2f 进行打印。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)