我如何在javascript中执行此操作?
var num = 2046430;
num.toLocaleString();
will give you "2,046,430";
我试过的是
var num = 2046430;
num.toLocaleString().toFixed(2);
预期输出
"2,046,430.00";
答案 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