我們如何將JavaScript字符串變量轉換爲十進制?將JavaScript字符串變量轉換爲十進制/貨幣
有作爲
parseInt(document.getElementById(amtid4).innerHTML)
我們如何將JavaScript字符串變量轉換爲十進制?將JavaScript字符串變量轉換爲十進制/貨幣
有作爲
parseInt(document.getElementById(amtid4).innerHTML)
是這樣的功能 - parseFloat
。
parseFloat(document.getElementById(amtid4).innerHTML);
對於格式化號碼,使用toFixed
:
var num = parseFloat(document.getElementById(amtid4).innerHTML).toFixed(2);
num
現在是與兩位小數格式化的數字的字符串。
您還可以使用(適用於整數和浮點數無需基數和使用)的Number
構造/功能:
Number('09'); /=> 9
Number('09.0987'); /=> 9.0987
+1,'Number' - 或'+' - 是我要走的路。 – 2011-05-23 10:44:23
這工作:
var num = parseFloat(document.getElementById(amtid4).innerHTML, 10).toFixed(2);
一個簡單的速記方法將使用+ x 它保持標誌完整以及十進制數字。 另一種選擇是使用parseFloat(x)。 parseFloat(x)和+ x之間的區別是空字符串+ x返回0,其中as parseFloat(x)返回NaN。
var formatter = new Intl.NumberFormat("ru", {
style: "currency",
currency: "GBP"
});
alert(formatter.format(1234.5)); // 1 234,5 £
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat
這是相當危險的依賴於JavaScript功能比較和使用數字播放。在javascript(0.1 + 0.2 == 0.3)由於舍入錯誤將返回false。使用math.js庫。
我做了一個小幫手功能做到這一點,捕獲所有異常數據
function convertToPounds(str) {
var n = Number.parseFloat(str);
if(!str || isNaN(n) || n < 0) return 0;
return n.toFixed(2);
}
演示是here
我們能否與2個小數點變量如120.50?現在我只得到120.5。 – Varada 2011-05-23 10:27:08
@Varada請參閱編輯。 – lonesomeday 2011-05-23 10:31:08
引用@PhilipWhitehouse「請讀者在將來閱讀這篇文章時,不要使用float來存儲貨幣,你將失去精度和數據,你應該將它存儲爲整數美分(或便士等),然後轉換在輸出之前。「。資料來源:http://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money-in-javascript – 2013-11-27 17:33:16