我試圖用javascript創建一個函數,顯示所有帶有兩個小數點的數字,並每三位數字(1,000 10,000 100,000等)添加逗號。格式化逗號和小數點後的數字用Javascript
起初,我有這樣的:
var formatNumber = function(num) {
return parseFloat((num).toFixed(2)).toLocaleString();
};
這工作得很好,但有一個例外。
1.2!= 1.20在最終輸出中。它只是顯示爲1.2
但其他一切都很好。 124.5879697 = 124.59,10000 = 10,000和10586.357 = 10586.36
問題是最終輸出將顯示爲金錢,因此顯示10000爲10,000美元罰款。但1.2美元顯示1.2美元看起來有點關閉。
爲了解決這個問題我嘗試添加了以下修改:
var formatNumber = function(num) {
return parseFloat((Math.round(num*100)/100)).toFixed(2).toLocaleString();
};
此進行所有的東西到小數點後兩位,這是很好的,但它似乎已經去激活的toLocaleString因爲現在沒有任何顯示逗號。
我正在尋找使用純JavaScript而不是jQuery。似乎關於這個話題有很多關於這個或那個問題的js問題,但是沒有把兩者結合起來。
謝謝。
你可以測試,看看有多少數字是小數點後的工作,如果它只有一個,增加一個0到它的結束? –
嘗試這個正則表達式追加0如果小數點後的單個數字: 'parseFloat((num).toFixed(2))。toLocaleString()。replace(/ \。([0-9])$ /,「。$ 10」 )' –