简单的算术错误

Simple arithmatic error javascript

本文关键字:错误 简单      更新时间:2023-09-26

当我执行以下操作时:

    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。

试着这样写

var score = (0.229*5) 
            + (0.237*5) 
            + (0.265*5) 
            + (0.214*5) 
            + (0.055*5);

这似乎对我有用

可以分割,只是不要在行尾使用/。Javascript计算一条介于之间的语句;字符,不包括空白字符