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

时间:2015-07-23 07:38:41

标签: javascript

我如何在javascript中执行此操作?

var num = 2046430; 
num.toLocaleString();

will give you "2,046,430";

我试过的是

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

预期输出

"2,046,430.00";

1 个答案:

答案 0 :(得分:108)

摘自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