MS Access VBA操作顺序



以下是提供错误值的代码行:(好吧,其中一个是正确的,一个是错误的(

value1=(零件列表*0.8(+实验室列表

value2=(零件列表+实验室列表(*0.8

(仅供参考,在这种情况下,零件清单的价值为870.80美元,实验室清单为25.00美元,但两个公式都产生了716.64美元的结果,尽管这是不正确的(

我不明白为什么Access VBA似乎忽略了操作的顺序?

如果您能提供任何帮助,我们将不胜感激。。。谢谢

计算不同。此处不适用运算符优先级。括号中的计算部分总是先完成的——这是基本数学。

第一个公式将partlist折扣20%,然后添加laborlist

870.80 * 0.8 = 696.64 + 25 = 721.64

第二种是将partlistlaborlist相加,然后对总额应用20%的折扣。

870.80 + 25.00 = 895.80 * 0.8 = 716.64

哪一个是正确的,哪一个不正确取决于你想做什么。如果你只想对零件打折,第一个就是正确的;如果你想对整张发票打折扣,第二张是正确的。

您可以使用Windows计算器自行验证。它接受(),因此您可以键入精确的表达式(包括括号(来执行这两个计算。