JavaScript 是否支持按字符串格式格式化数字?

D T*_*D T 5 javascript

在 .NET 中,我可以通过以下代码格式化数字:

Dim num = 1234567.8933
Dim res = num.ToString("#,##0.00")
Run Code Online (Sandbox Code Playgroud)

结果: res= 1,234,567.89

我想"#,##0.00"在 JavaScript 中使用这种格式。它是否支持按字符串格式格式化数字?

pal*_*aѕн 5

它是否支持按字符串格式格式化数字?

我们没有对数字格式的内置支持,但我们几乎没有选择来获得所需的#,##0.00格式,例如:

使用.toLocaleString()

const num = 1234567.8933

// To get only two decimal places use maximumFractionDigits option
const options = {minimumFractionDigits: 2, maximumFractionDigits: 2}
const res = num.toLocaleString(undefined, options)
console.log(res)   //=> 1,234,567.89
Run Code Online (Sandbox Code Playgroud)

使用Intl.NumberFormat

const num = 1234567.8933

// To get only two decimal places use maximumFractionDigits option
const options = {minimumFractionDigits: 2, maximumFractionDigits: 2}
const res = new Intl.NumberFormat(undefined, options).format(num)
console.log(res)   //=> 1,234,567.89
Run Code Online (Sandbox Code Playgroud)


小智 3

如果您想要更复杂的格式。你可以看看http://numeraljs.com/#format

在此输入图像描述