Fre*_*den 5 python format decimal
我Decimal在Python中有一些实例.我希望将它们格式化
Decimal('1') => '1.00'
Decimal('12.0') => '12.00'
Decimal('314.1') => '314.10'
Decimal('314.151') => '314.151'
Run Code Online (Sandbox Code Playgroud)
因此确保总是至少有两个小数位,可能更多.虽然不存在舍入到n小数位的解决方案,但我找不到确定数字下限的简洁方法.
我目前的解决方案是计算:
first = '{}'.format(d)
second = '{:.2f}'.format(d)
Run Code Online (Sandbox Code Playgroud)
并采取两者中的哪一个更长.然而,它看起来有点hackish.
如果您想避免字符串问题:
if d*100 - int(d*100):
print str(d)
else:
print ".2f" % d
Run Code Online (Sandbox Code Playgroud)
未经测试的代码,但应该可以工作。
这工作起来就像这样:
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 进行打印。
| 归档时间: |
|
| 查看次数: |
2992 次 |
| 最近记录: |