看过其他一些问题,但没有人回答这个特殊情况
val = "0.000"
print val
0.000
f = float(val)
print f
0.0
如何将这些作为花车保留,但强制它们是0.000
的确切值?
答案 0 :(得分:4)
float
值0.0
和0.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'