python在十进制分隔符后显示太多数字
我试过:python在十进制分隔符后显示太多数字,python,python-3.x,Python,Python 3.x,我试过: x=3.4 print(x-数学地板(x)) 在控制台和Jupyter笔记本中,结果都显示0.39999999999 但是,为什么不直接将0.4作为结果呢 谢谢。要获得0.4,您可以使用十进制模块: >>> import decimal >>> x = decimal.Decimal('3.4') >>> print(x - math.floor(x)) Decimal('0.4') 这实际上不是由于python,而是浮点数的实
x=3.4
print(x-数学地板(x))
在控制台和Jupyter笔记本中,结果都显示0.39999999999
但是,为什么不直接将0.4
作为结果呢
谢谢。要获得
0.4
,您可以使用十进制
模块:
>>> import decimal
>>> x = decimal.Decimal('3.4')
>>> print(x - math.floor(x))
Decimal('0.4')
这实际上不是由于python,而是浮点数的实现方式所固有的,例如在javascript中也会发生 这个解释应该回答你的问题:
如前所述,如果需要将其作为十进制处理,则应检查
十进制
模块,或者可以在渲染之前对最终结果进行四舍五入。您的问题是为什么会发生这种情况?
或如何将其设置为0.4
?@Algebra8,这是为什么会发生这种情况