首页 > 解决方案 > JavaScript 是否支持按字符串格式格式化数字?

问题描述

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

Dim num = 1234567.8933
Dim res = num.ToString("#,##0.00")

结果:res= 1,234,567.89

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

标签: javascript

解决方案


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

我们没有对数字格式的内置支持,但我们几乎没有选择来获得所需的#,##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

使用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


推荐阅读