本文介绍将一个数字使用千位分隔的形式格式化。
需要将num=123456789,格式化为123,456,789 可用如下两种方法实现
正序循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| function format_str(str) { var str = str.toString().split("."), integer = str[0].split("").reverse(), decimal = str[1], j = 0, arr = [], result; for (var i = 0; i < integer.length; i++) { arr.push(integer[i]); if (j === 2 && i !== integer.length - 1) { arr.push(','); j = -1; } j++; } arr.reverse(); if (decimal !== undefined) { arr.push("." + decimal); } result = arr.join(""); return result; }
|
倒序循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| function format_str(str) { var str = str.toString().split("."), decimal = str[1], integer = str[0], j = 0, arr = [], result; for (var i = integer.length - 1; i >= 0; i--) { arr.unshift(integer[i]); if (j === 2 && i !== 0) { arr.unshift(','); j = -1; } j++; } if (decimal !== undefined) { arr.push("." + decimal); } result = arr.join("") return result; }
|