function format_number(n) { n = n + ''; var re = /^-?[0-9]+.?[0-9]*$/; if (!re.test(n)) { return n; } var pos = n.indexOf("."); var part1; var part2; if (pos > -1) { part1 = n.substr(0, pos); part2 = n.substr(pos + 1); } else { part1 = n; } var sign = ''; if (part1.indexOf('-') > -1) { sign = part1.slice(0, 1); part1 = part1.slice(1); } var len = part1.length; if (len > 3) { var r = len % 3; part1 = r > 0 ? part1.slice(0, r) + "," + part1.slice(r, len).match(/d{3}/g).join(",") : part1.slice(r, len).match(/d{3}/g).join(","); } if (part2) { return sign + part1 + '.' + part2; } else { return sign + part1; } };
效果如下;
1234.01 ⇒1,234.01
-1234.01 ⇒-1,234.01