如何在JavaScript中使用toLocaleString()和tofixed(2)


75

如何在JavaScript中执行此操作?

var num = 2046430; 
num.toLocaleString();

will give you "2,046,430";

我试过的是:

var num = 2046430; 
num.toLocaleString().toFixed(2);

预期产量

“ 2,046,430.00”

Answers:


181

来自MDN:

句法

numObj.toLocaleString([locales [, options]])

toLocaleString需要2个参数。第一个是语言环境,第二个是选项。至于选项,您正在寻找:

minimumFractionDigits

要使用的最小小数位数。可能的值是0到20;纯数字和百分比格式的默认值为0;货币格式的默认值为ISO 4217货币代码列表提供的次要单位位数(如果列表未提供该信息,则为2)。

https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

为了能够在不设置语言环境的情况下设置选项,可以将undefined作为第一个参数传递:

var num = 2046430;
num.toLocaleString(undefined, {minimumFractionDigits: 2}) // 2,046,430.00

但是,这也允许该分数大于2位数字。因此,我们需要寻找另一个名为的选项maximumFractionDigits。(也在该MDN页面上)

var num = 2046430.123;
num.toLocaleString(undefined, {
  minimumFractionDigits: 2,
  maximumFractionDigits: 2
}) // 2,046,430.12

7
还有一件事。出于方便的原因,您可以执行以下操作:jsfiddle.net/st31wm96/2,因为始终手动编写此代码可能会很重复。
塞巴斯蒂安·内特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.