PyDev console: starting.
Python 3.10.7 (tags/v3.10.7:6cc6b13, Sep 5 2022, 14:08:36) [MSC v.1933 64 bit (AMD64)] on win32
2-1.1
0.8999999999999999
最后结果为何是"0.8999999999999999"而不是"0.9"
from decimal import Decimal
a = Decimal('2')
b = Decimal('1.1')
print(a-b)
因为1.1是浮点数,四则运算最终都是转为对应的二进制数进行运算的,而浮点数容易导致精度丢失,而产生上述现象。
浮点数精度问题,没有关系。
在计算机内部,对于一些浮点数是无法精确表示的,所有语言都是这样的
如何解决精度问题呢?如何把结果变正确?
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!