0

私の小計が 1 で、.00 が小計から取り除かれている理由を誰かが明らかにできるのではないかと思っていました。

price は 1.00、itemQty は 1 です。

var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);
4

4 に答える 4

1

11.00は、数値的には同じものです。

toFixed()文字列を生成します。文字列は、1.001が 2 つの異なる値である唯一の意味です。

price * parseInt(res.itemQty)数値演算で文字列を使用しているため、値は"1.00"数値のように解釈されます。subTotal数値演算の結果であるため、数値になります。したがって、同時に両方1です1.00

小数で表示したい場合は、toFixed再度使用して文字列に変換する必要があります。

于 2012-07-25T09:20:17.640 に答える
0

subTotaltoFixed()は数値であるため、再度変換する必要があります。

于 2012-07-25T09:20:09.817 に答える
0

toFixed(2) を使用して subTotal を文字列にしていないため

var res = {productPrice:3.00, itemQty:2}
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);

console.log(subTotal.toFixed(2));

それが役立つことを願っています

于 2012-07-25T09:24:59.027 に答える
0
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = (price * parseInt(res.itemQty)).toFixed(2);

toFixed()数値ではなく文字列を返すには、subTotal を呼び出す必要があります。

于 2012-07-25T09:23:09.603 に答える