python中的十进制值,如何使它'0.00'?

时间:2012-02-13 09:40:05

标签: python decimal

我在python中生成或获取小数值时遇到问题。 现在,我使用float(),但它返回.0而不是.00 ......

>>> d = 10
>>> float(d)
10.0
>>> 

如何设置以.00?

返回的十进制值
>>10.00

提前感谢...

4 个答案:

答案 0 :(得分:6)

Python仅显示所需内容,因此它取代了10.0

如果将其打印为10.00。

要做到这一点。

>>> d = 10
>>> print "Value: %.2f" % float(d)
Value: 10.00
>>> 

答案 1 :(得分:3)

如果您希望算术考虑到您应该拥有的时间段之后有多少位数,则必须使用decimal模块:

>>> from decimal import Decimal
>>> Decimal("10.0")
Decimal('10.0')
>>> Decimal("10.00")
Decimal('10.00')
>>> Decimal("10.0")**2
Decimal('100.00')
>>> Decimal("10.00")**2
Decimal('100.0000')

我想我也应该提到python uncertainties module

>>> from uncertainties import ufloat
>>> x = ufloat((2, 0.25))
>>> x
2.0+/-0.25
>>> square = x**2  # Transparent calculations
>>> square
4.0+/-1.0

答案 2 :(得分:2)

您还可以使用format,如下所示:

>>> '{0:.2f}'.format(float(d))
10.00

答案 3 :(得分:0)

Python正在显示10.0,因为您显示的是浮点数,而Python只显示所需的小数位数。

如果您想打印10.00用于显示目的,请使用字符串格式化运算符%,如下所示:

>>> a = 10
>>> float (a)
10.0
>>> "%2.2f" % a
'10.00'
>>> 

有关string formatting operations的更多信息。