Python 格式化浮点数
我的输入是3.23,但当我把它变成浮点数时,它变成了3.2。
当我的输入是3.00时,变成浮点数后,它变成了3.0。
我想把字符串转换成浮点数,但我希望它仍然显示为3.00,而不是3.0,这可能吗?
我想知道怎么写代码才能做到这一点,因为在某些情况下,小数点后有两位数字是很重要的,3.23比3.2更精确。
4 个回答
1
如果你想要小数的精确度,可以使用Python的decimal
模块:
from decimal import Decimal
x = Decimal('3.00')
print x
这段代码会输出:
Decimal('3.00')
3
因为这个讨论是关于“在Python中格式化小数”的,所以我觉得有必要提供一个更新的答案:
>>> P=34.3234564
>>> string="{:.2f}".format(P)
>>> string
'34.32'
1
我想你想要的是把一个小数转换成字符串,并且可以控制小数点后有多少位数字。你可以用 %.3f 来做到这一点(这里的 3 就是你想显示的小数位数)。比如:
>>> print "Value: %.2f" % 3.0000
值:3.00