使用特定数量的零打印浮动

zeq*_*uzd 6 python floating-point

我知道如何控制小数位数,但我如何具体控制零的数量?

例如:

104.06250000 -> 104.0625   
119.00000 -> 119.0  
72.000000 -> 72.0 
Run Code Online (Sandbox Code Playgroud)

ber*_*nie 9

如何使用十进制模块?

文档:

"十进制模块包含一个重要位置的概念,因此1.30 + 1.20是2.50.尾随零保持表示重要性.这是货币申请的惯常表示.对于乘法,"教科书"方法使用了所有数字.被乘数.例如,1.3*1.2给出1.56而1.30*1.20给出1.5600. "

归一化()函数删除尾随零:

>>> from decimal import *
>>> d1 = Decimal("1.30")
>>> d2 = Decimal("1.20")
>>> d3
Decimal("1.5600")
>>> d3.normalize()
Decimal("1.56")
Run Code Online (Sandbox Code Playgroud)


Dav*_*eau 5

我认为没有预先定义的格式 - python中的格式是从C继承的,我很确定你在C中没有所需的格式.

现在,在python 3中,您具有格式特殊功能,您可以在其中进行自己的格式化.删除python中的最后一个零非常简单:只需使用strip方法:

a = 1.23040000
print str(a).rstrip('0')
Run Code Online (Sandbox Code Playgroud)

如果你想在小数点后保持0,那也不是很困难.

  • 我会选择直截了当的答案:检测最后一个字符是否为点,如果是这样,则添加0.请记住,这在本地化下不起作用(例如,我的母语,法语,我们使用','表示小数点,'.'表示千位分隔符). (4认同)