如何打印一个十进制数(最多n个十进制值),如果末尾有0则忽略0?

时间:2019-07-07 04:54:25

标签: python printing number-formatting

我正在尝试打印两个数字的值,最多4个小数位,如果末尾有0的话,则不包括0。

a= 0.125
b= 0.256325

print("%.4f" %round(a,4))
print("%.4f" %round(b,4))

这给了我0.1250和0.2563,但我只希望a为0.125和b为0.2563

我希望:

如果a为0.125、0.1250或0.125000,则输出应仅为0.125,对于所有其他情况,我可以在“。”之后得到4个非零值。

1 个答案:

答案 0 :(得分:0)

尝试here中提到的normalize

import decimal 
print(decimal.Decimal('0.1230000').normalize())
0.123

例如

a= 0.125
b= 0.256325

print (decimal.Decimal(str.format('%.4f' %a)).normalize())
print (decimal.Decimal(str.format('%.4f' %b)).normalize())

0.125
0.2563