我目前有一些干净的数字,如:
1, 10, 100, 1000, 10000
等......
我希望格式化这些数字,因此它们显示为:
1,00
10,00
100,00
1.000,00
10.000,00
我玩n.toFixed(2);
,但似乎不支持我正在寻找的格式。
有什么想法吗?
答案 0 :(得分:2)
查看Intl.NumberFormat(),不需要花哨的裤子插件。跨平台支持。
var number = 3500;
alert(new Intl.NumberFormat().format(number));
会弹出'3,500'
答案 1 :(得分:1)
你可以这样做:
var nb='1000000000';
var result = nb.replace(/(?:(^\d{1,3})(?=(?:\d{3})*$)|(\d{3}))(?!$)/mg, '$1$2.')+',00';
答案 2 :(得分:1)
如果您想要一个简单的功能来完成这项工作,可能适合以下情况:
// Format a number n using:
// p decimal places (two by default)
// ts as the thousands separator (comma by default) and
// dp as the decimal point (period by default).
//
// If p < 0 or p > 20 results are implementation dependent.
function formatNumber(n, p, ts, dp) {
var t = [];
// Get arguments, set defaults
if (typeof p == 'undefined') p = 2;
if (typeof ts == 'undefined') ts = ',';
if (typeof dp == 'undefined') dp = '.';
// Get number and decimal part of n
n = Number(n).toFixed(p).split('.');
// Add thousands separator and decimal point (if requied):
for (var iLen = n[0].length, i = iLen? iLen % 3 || 3 : 0, j = 0; i <= iLen; i+=3) {
t.push(n[0].substring(j, i));
j = i;
}
// Insert separators and return result
return t.join(ts) + (n[1]? dp + n[1] : '');
}
//*
console.log(formatNumber(
1234567890.567, // value to format
4, // number of decimal places
'.', // thousands separator
',' // decimal separator
)); // result: 1.234.567.890,5670
//*/
console.log(formatNumber(
123.567, // value to format
1 // number of decimal places
)); // result: 123.6
console.log(formatNumber(
'123.567', // value to format
0 // number of decimal places
)); // result: 123.6
console.log(formatNumber(
123, // value to format
0 // number of decimal places
)); // result: 123
console.log(formatNumber(
13, // value to format
2 // number of decimal places
)); // result: 13.00
console.log(formatNumber(
0 // value to format
// number of decimal places
)); // result: 0.00
console.log(formatNumber(
// value to format
// number of decimal places
)); // result: NaN
对不起,没有花哨的正则表达式或切片/拼接数组的东西,只有POJS有效。
答案 3 :(得分:0)
答案 4 :(得分:0)
JS中没有用于格式化数字的内置方法。您可以使用autoNumeric。 http://www.decorplanit.com/plugin/