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"
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是浮点数,四则运算最终都是转为对应的二进制数进行运算的,而浮点数容易导致精度丢失,而产生上述现象。
为什么在Python中两个浮点数的运算结果会不精确?_编程初学者小张的博客-CSDN博客
问题描述:在python中定义两个浮点型变量,值分别为1.1和2.2,两者相加并输出结果,结果并非为我们直观得到的3.3,而是趋近于3.3的一个小数值。代码如下:n1 = 1.1n2 = 2.2print(n1+n2)输出结果:3.3000000000000003为什么会出现这种情况呢?分析:计算机中只有0和1,所有数据在计算机中都是以0和1的形式存储的,在机器字长有限的情况下,浮点数(小数)的精度也是有限的。举个例子:假如用一个8位的变量表示-1—1之间的小数,8位的变量共有
https://blog.csdn.net/qq_43509222/article/details/109182054