python将字符串解析为精确浮点数

时间:2015-01-24 18:17:46

标签: python

看过其他一些问题,但没有人回答这个特殊情况

val = "0.000"
print val
0.000
f = float(val)
print f
0.0

如何将这些作为花车保留,但强制它们是0.000的确切值?

1 个答案:

答案 0 :(得分:4)

float0.00.000无法区分:它们由完全相同的位模式表示。

如果您想保留零,则必须使用其他数据类型(例如字符串或Decimal):

In [7]: from decimal import Decimal

In [8]: d1 = Decimal("0.0")

In [9]: d2 = Decimal("0.000")

In [10]: str(d1)
Out[10]: '0.0'

In [11]: str(d2)
Out[11]: '0.000'