2024-04-23 09:09:37 发布
网友
我用Python得到了一个奇怪的计算结果:
11.66 * 0.98 * 1.05 + 1.7 + 0.70 * 1.03
在Python中,我得到的结果是14.41914
但是当我的客户用计算器和iPhone计算时,他们得到的结果是14.8300842
那么哪个是正确的结果呢? 是什么导致这个计算结果不同呢? 谢谢
您的客户所做的似乎是:
>>> (11.66*0.98*1.05 + (1.7+0.7))*1.03 14.830084200000002 >>>
而python中的表达式:
>>> 11.66*0.98*1.05 + 1.7+0.7*1.03 14.419140000000001
是否先乘以:
>>> (11.66*0.98*1.05) + 1.7+(0.7*1.03) 14.419140000000001
乘法是先做的,这是一个很强的惯例,但是台式计算器(real和appy)在输入数字时必须处理它们,所以可能会做不同的事情。你知道吗
正确的结果就是Python给出的结果。您的客户使用的计算器不考虑操作顺序,或者使用计算器时丢弃了操作顺序信息。你知道吗
14.41914是对的。你知道吗
((11.66*0.98)*1.05)+1.7)+0.70)*1.03)=14.8300842
所以他们忽略了加法和乘法的计算顺序。你知道吗
您的客户所做的似乎是:
而python中的表达式:
是否先乘以:
乘法是先做的,这是一个很强的惯例,但是台式计算器(real和appy)在输入数字时必须处理它们,所以可能会做不同的事情。你知道吗
正确的结果就是Python给出的结果。您的客户使用的计算器不考虑操作顺序,或者使用计算器时丢弃了操作顺序信息。你知道吗
14.41914是对的。你知道吗
((11.66*0.98)*1.05)+1.7)+0.70)*1.03)=14.8300842
所以他们忽略了加法和乘法的计算顺序。你知道吗
相关问题 更多 >
编程相关推荐