python将字符串解析为精确浮点
看到了一些其他的问题,但没有人回答这个问题python将字符串解析为精确浮点,python,Python,看到了一些其他的问题,但没有人回答这个问题 val = "0.000" print val 0.000 f = float(val) print f 0.0 我如何将它们保持为浮点数,但强制它们成为0.000的精确值?浮点数0.0和0.000是无法区分的:它们由完全相同的位模式表示 如果要保留零,则必须使用不同的数据类型,例如字符串或: In [7]: from decimal import Decimal In [8]: d1 = Decimal("0.0") In [9]: d2 =
val = "0.000"
print val
0.000
f = float(val)
print f
0.0
我如何将它们保持为浮点数,但强制它们成为
0.000
的精确值?浮点数0.0
和0.000
是无法区分的:它们由完全相同的位模式表示
如果要保留零,则必须使用不同的数据类型,例如字符串或:
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'
float
值0.0
和0.000
彼此无法区分:它们由完全相同的位模式表示
如果要保留零,则必须使用不同的数据类型,例如字符串或:
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'
0.0
和0.0000
不一样吗?其他一些例子会更好。0.000表示0到10^-4@Badmiral但是0.0==0.0000=True
“十进制模块包含一个有效位的概念”@MartijnPieters如果OP是做物理之类的事情,那么0.0和0.00之间就有一个区别0.0
和0.0000
不一样吗?其他一些例子会更好。0.000表示0到10^-4@Badmiral但是0.0==0.0000=True
“十进制模块包含了有效位的概念”@MartijnPieters如果OP是做物理之类的事情,那么0.0和0.00之间就有差异