可能重复:
Elegant workaround for JavaScript floating point number problem
var sum = 0;
$('[id$=percentOfTotalEditor]').each(
function () {
var igEditor = $find(this.id);
var value = igEditor.get_value();
sum += value;
}
);
然后你会看到魔力:
sum == 1.1,value == 0.1。但在sum + = value之后,sum == 1.2000000000000001
WTF!?
答案 0 :(得分:0)
javascript中的数字存储为浮点数 - 会有一定程度的不精确性 - 请参阅链接文章,或者搜索此网站以获取浮点运算以获得多种解释。
答案 1 :(得分:0)
是的,这个问题与Paddy建议的一样重复。不过,这是另一个Javascript库,它允许您使用精确的十进制数字(最多一点):http://blog.brewsession.com/2008/06/28/problematic-decimal-arithmetic-in-javascript/