0

私には独特の問題があり、正気を失いかけています。

私は js カート (simplecart) を使用しており、カートに何かを追加すると、価格から 2 が追加されるか、3 が 15 桁目で減算されます。

これは製品のコストです: 35,99 これは、この単一の製品を追加したときに合計として計算されるものです:

€ 35,990000000000002

送料や税金が関係しているのではないかと思っていましたが、それらのモジュールを無効にしても同じです。この価格は、カート内の商品価格としても表示されます。

ここに私のjsfiddle:

http://jsfiddle.net/dJYNk/

これを解決するにはどうすればよいですか?これがいつ侵入したのかはわかりませんが、問題を切り分けようとしてプロジェクト全体をすでに削除していますが、この最小限のセットアップでも発生し、このカートがかなりうまく機能していることを覚えているようです.

何が問題なのですか?

4

2 に答える 2

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

精度を2か所に変更します。サーバー側の検証を使用して最終的なコストを計算し、JavaScriptのみを使用してユーザーにコストを示す必要があります。

于 2012-10-18T09:51:24.900 に答える
0

これは浮動小数点の精度の問題です。Javascript には 10 進数型がないため、すべての数値は浮動小数点で処理されます。つまり、正確な表現ではなく近似値が得られます。

于 2012-10-18T09:48:52.820 に答える