私の小計が 1 で、.00 が小計から取り除かれている理由を誰かが明らかにできるのではないかと思っていました。
price は 1.00、itemQty は 1 です。
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);
私の小計が 1 で、.00 が小計から取り除かれている理由を誰かが明らかにできるのではないかと思っていました。
price は 1.00、itemQty は 1 です。
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);
1
と1.00
は、数値的には同じものです。
toFixed()
文字列を生成します。文字列は、1.00
と1
が 2 つの異なる値である唯一の意味です。
price * parseInt(res.itemQty)
数値演算で文字列を使用しているため、値は"1.00"
数値のように解釈されます。subTotal
数値演算の結果であるため、数値になります。したがって、同時に両方1
です1.00
。
小数で表示したい場合は、toFixed
再度使用して文字列に変換する必要があります。
subTotaltoFixed()
は数値であるため、再度変換する必要があります。
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));
それが役立つことを願っています
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = (price * parseInt(res.itemQty)).toFixed(2);
toFixed()
数値ではなく文字列を返すには、subTotal を呼び出す必要があります。