[英]calculating javascript (simplecart) cart total, adds random decimals to total
我有一個獨特的問題,即將失去理智。
即時通訊使用js購物車(simplecart),當我向購物車中添加商品時,它會在價格中加上2或減去3,以小數點后15位表示:
這是產品的成本:35,99這是我添加此單一產品時的計算結果:
€35,990000000000002
我認為這可能與運輸或稅收有關,但是即使禁用了這些模塊,其效果仍然相同。 此價格也顯示為購物車中的商品價格。
這是我的jsfiddle:
我應該如何解決這個問題? 我不知道什么時候偷偷溜進去,已經剝離了整個項目,試圖找出問題所在,但是即使在這種最小的設置下,它也會發生,我似乎還記得這輛車工作得很好。
可能是什么問題?
這是浮點精度的問題。 Javascript沒有十進制類型,因此所有數字都以浮點數進行處理,這意味着您將獲得近似值而不是精確的表示形式。
simpleCart.currency({
code: "EUR" ,
name: "Euro" ,
symbol: " € " ,
delimiter: " " ,
decimal: "," ,
after: false ,
accuracy: 2
});
將精度更改為兩個位置。 您應該使用服務器端驗證來計算最終費用,並且僅使用javascript向用戶指示費用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.