25420785.695256-11700000-11680000-2043300 = -2514.304744001478
Python浮点数计算的精度问题如何处理?示例如上!
本应是-2515.695256的值,结果只有-2514.304744001478,相差了1.3905119985220153 !
这差的也太多了。有没比较好的解决方法呀?
25420785.695256-11700000-11680000-2043300 = -2514.304744001478
Python浮点数计算的精度问题如何处理?示例如上!
本应是-2515.695256的值,结果只有-2514.304744001478,相差了1.3905119985220153 !
这差的也太多了。有没比较好的解决方法呀?
还是转成整数计算比较放便~
def Sub(a, b):
a, b = float(a), float(b)
n = int(max([len(str(a).split(".")[-1]), len(str(b).split(".")[-1])]))
print(a,b,n)
return (a*10**n - b*10**n)/10**n