计算javascript(simplecart)cart total,将随机小数加到total

时间:2012-10-18 09:42:40

标签: javascript shopping-cart calculated-columns

我有一个独特的问题,我即将失去理智。

即时通讯使用js购物车(simplecart),当我向购物车添加商品时,它会在价格中添加2或从第15个十进制中减去3:

这是产品成本:35,99 这是我在添加此单品时计算的总数:

€35,990000000000002

我认为这可能与运费或税收有关,但即使在禁用这些模块后,它仍然是相同的。此价格也会显示为购物车中的商品价格。

这里是我的jsfiddle:

http://jsfiddle.net/dJYNk/

我应该如何解决这个问题?我不知道什么时候这个潜入,已经剥离了整个项目试图隔离问题,但它甚至发生在这个最小的设置中,我似乎记得这个车工作得很好。

可能是什么问题?

2 个答案:

答案 0 :(得分:0)

这是浮点精度的问题。 Javascript没有十进制类型,因此所有数字都以浮点形式处理,这意味着您可以获得近似而不是精确表示。

答案 1 :(得分:0)

simpleCart.currency({
    code: "EUR" , 
      name: "Euro" ,
    symbol: " € " ,
    delimiter: " " , 
    decimal: "," , 
    after: false ,
    accuracy: 2
});

将准确度更改为两个位置。您应该使用服务器端验证来计算最终成本,并仅使用javascript来指示用户的成本。