m = 2524.95/5 计算出来的结果与平时计算的有差别,这个怎么解决,使用的是python3.8
504.98999999999995,但平时数学计算的结果是504.99,存在差别,明明可以除尽的
无
想要得到数学上的结果504.99
浮点数误差问题
因为浮点数在计算机中实际是以二进制保存的,有些数不精确。
参考https://blog.csdn.net/maymay_/article/details/112244930
精度问题
from decimal import Decimal
v = Decimal('2524.95') / 5
print(v)
这个就可以解决了
这个是因为计算机是二进制计算,其中1/3,10/3之类的数转换成二进制的时候没有去尾,计算出来就会这样,不光Python,就连JAVA,C系列的编程语言都会这样的,具体的你可以用round函数取一下精度就可以了
浮点数计算的问题,你可以用round函数限制小数位数,m = round(2524.95/5,2)