Python 格式化浮点数

-5 投票
4 回答
975 浏览
提问于 2025-04-15 12:06

我的输入是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

撰写回答