想知道是否有人可以闡明爲什麼我的小計是1,並且.00被從小計中剝離。JavaScript從我的小數中剝離.00?
價爲1.00,而itemQty爲1
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);
想知道是否有人可以闡明爲什麼我的小計是1,並且.00被從小計中剝離。JavaScript從我的小數中剝離.00?
價爲1.00,而itemQty爲1
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = (price * parseInt(res.itemQty)).toFixed(2);
您必須在subTotal上調用toFixed()
才能返回字符串而不是數字。
你必須再次轉換小計toFixed()
,因爲它是一個數字。
1
和1.00
在數字上是相同的東西。
toFixed()
產生一個字符串。字符串幾乎是唯一的意義,其中1.00
和1
是兩個不同的值。
在price * parseInt(res.itemQty)
您正在使用數字操作中的"1.00"
字符串,因此該值將被解釋爲數字。 subTotal
將是一個數字,因爲它是數字運算的結果,因此它同時是1
和1.00
。
如果想要用小數表示它,則需要再次使用toFixed
將其轉換爲字符串。
釘在頭上。 – Sphvn 2012-07-25 09:25:04
因爲你還沒有使用toFixed做的小計字符串(2)
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));
我希望幫助
你需要調用'toFixed'上小計爲好。 – 2012-07-25 09:20:08
另外值得注意的是,這只是普通的JavaScript而不是jQuery :) – Sphvn 2012-07-25 09:26:14
@Pankar在JavaScript中沒有向下轉換,因爲int和float都是'Number'對象。事情是,即使使用浮動,所有尾隨零也被移除。由於這個限制'toFixed'返回'String',而不是'Number'。 – 2012-07-25 09:58:17