0

朝、jQuery を使用していくつかの合計を合計する際に問題が発生しています。

私はこれに以下を渡しています...

  • 価格 - 600.00
  • 送料 - 4.05

しかし、私は次の結果を得ています...

subTotal = 600
productShipping = 4.05
orderTotal = 4.05600

 $.each(result, function (index, res) {
                var price = 600.00; //res.productPrice;

                var subTotal = res.itemQty * price;
                var orderTotal = res.productShipping + subTotal;

                new_record = "<tr>" +
                             "<td class=\"totals\">Sub Total</td>" +
                             "<td>£" + subTotal + "</td>" +
                             "</tr>" +
                             "<tr>" +
                             "<td class=\"totals\">Shipping</td>" +
                             "<td>£" + res.productShipping + "</td>" +
                             "</tr>" +
                             "<tr>" +
                             "<td class=\"totals\">Order Total</td>" +
                             "<td>£" + orderTotal + "</td>" +
                             "</tr>";

                $('#orderTotals').append(new_record);

jQuery でこれらのアイテムを追加すると問題が発生する可能性があると感じていますが、解決することはできます。誰かが私が間違っているところに光を当てることができますか.

res は、Web サービス呼び出しから使用している応答です。

どうもありがとう。

4

4 に答える 4

5

+文字列を連結し、数値を加算します。連結を取得しているため、それは文字列であると想定できres.productShippingます。

したがって、合計する前にフロートに解析します。

var orderTotal = parseFloat(res.productShipping) + subTotal;
于 2012-07-25T09:01:53.263 に答える
1

作成に使用するときres.productShippingparseInt()or (または同様のもの) でラップしようとしましたか?parsedouble()ordertotal

数字を足し合わせるのではなく、それらを文字列として足し合わせようとしているように思えます-したがって、それらを連結します.

于 2012-07-25T09:01:31.997 に答える
1

これを試して:

var orderTotal = parseFloat(res.productShipping) + parseFloat(subTotal);
于 2012-07-25T09:02:44.173 に答える
0

parseInt を使用して価格を数値に変換してから、計算を実行する必要があります。

于 2012-07-25T09:03:29.207 に答える