2017-09-25 87 views
0

我在a,b,c,c, d中有以下類型的值。javascript中格式化數字不使用minimumFractionDigits,maximumFractionDigits

a= 12345678 
b= 12345678.098 
c=12345678.1 
d=12345678.11 

我需要格式化一樣,

a = 12,345,678.000 
b= 12,345,678.098 
c=12,345,678.100 
d=12,345,678.110 

我已經嘗試過tolocaleString()toFixed(3)方法。但我無法同時使用這兩種方法。

需要你對此的建議。

+0

你不需要任何格式的數字,數字不能被JS格式化。如果你需要「格式化數字」,唯一的機會是將數字轉換爲字符串,並格式化這些字符串。 – Teemu

+0

https://stackoverflow.com/questions/46401854/formatting-number-in-javascript-using-decimal/46401920#46401920 –

+1

這可能有所幫助:https://stackoverflow.com/questions/149055/how-can-i -format號碼-AS-美元貨幣串式的JavaScript – Rajesh

回答

1

這可能對你有所幫助。

var a = 12345678; 
 
var b = 12345678.098; 
 
var c = 12345678.1; 
 
var d = 12345678.11; 
 

 
String.prototype.format = function() { 
 
    return this.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); 
 
}; 
 

 
function formatNumber(input) { 
 
    return parseFloat(input).toFixed(3).toString().format(); 
 
} 
 

 
console.log(formatNumber(a)); 
 
console.log(formatNumber(b)); 
 
console.log(formatNumber(c)); 
 
console.log(formatNumber(d));