我有一個貨幣輸入,只需要返回有效數字。輸入總有兩位小數,所以:用javascript切割未使用的小數點
4.00 -> 4
4.10 -> 4.1
4.01 -> 4.01
這裏是我當前如何做:
// chop off unnecessary decimals
if (val.charAt(val.length-1) == '0') { // xx.00
val = val.substr(0, val.length-1);
}
if (val.charAt(val.length-1) == '0') { // xx.0
val = val.substr(0, val.length-1);
}
if (val.charAt(val.length-1) == '.') { // xx.
val = val.substr(0, val.length-1);
}
其工作,並具有一定的直接它,我挺喜歡的,但也許有更漂亮的方法。
我想我可以使用一個循環並遍歷它三次,但實際上它似乎至少像條件化if語句時一樣龐大。除此之外,有什麼想法?我想有一個正則表達式的方式來做到這一點...
浮子可能沒有足夠的精度準確地表示給定十進制值;你不應該用它們來表示貨幣。 – 2009-06-18 21:57:54
這是真的。 – 2009-06-18 21:59:16