当我执行以下操作时:
var score = (0.229*5) /
+ (0.237*5) /
+ (0.265*5) /
+ (0.214*5) /
+ (0.055*5);
得分为2.478305190973909
。但是,如果在单行上执行相同的操作。
var score = (0.229*5) + (0.237*5)+ (0.265*5) + (0.214*5) + (0.055*5);
按照我的预期,得分为 5.000000000000001
。
什么给了?为什么我不能将操作拆分为多行?
编辑:
JSFiddle 在执行以下操作时出现错误:
var score = (0.229*5)
+ (0.237*5)
+ (0.265*5)
+ (0.214*5)
+ (0.055*5);
http://jsfiddle.net/MSamman/Jdrbq/
但是,这可以通过执行来解决
var score = (0.229*5) +
(0.237*5) +
(0.265*5) +
(0.214*5) +
(0.055*5);
显然它不喜欢以 +
开始一行。
最佳答案
消除 /
运算符(它进行除法)
var score = (0.229*5)
+ (0.237*5)
+ (0.265*5)
+ (0.214*5)
+ (0.055*5);
使用//
开始单行注释。
;
终止语句,尽管 JavaScript 解释器在某些时候会暗示分号。请参阅http://inimino.org/~inimino/blog/javascript_semicolons有关语句终止的更多信息。
关于javascript - 简单的算术错误javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16825920/