JS从数字千分位格式化的性能优化入门实例
内容摘要
这篇文章主要为大家详细介绍了JS从数字千分位格式化的性能优化入门实例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。所谓的数字千分
对此感兴趣的朋友,看看idc笔记做的技术笔记。所谓的数字千分
文章正文
这篇文章主要为大家详细介绍了JS从数字千分位格式化的性能优化入门实例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000”。针对这个需求,我起初写了这样一个函数: JS代码如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <code class = "js" > /** * 数字千分位形式 * * @param * @arrange (www.idcnote.com) **/ // 方法一 function toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toString().split( '' ); for ( var i = num.length - 1; i >= 0; i--) { counter++; result.unshift(num[i]); if (!(counter % 3) && i != 0) { result.unshift( ',' ); } } return result.join( '' ); }</code> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <code class = "js" > /** * 数字千分位形式 * * @param * @arrange (www.idcnote.com) **/ // 方法二 function toThousands(num) { var result = '' , counter = 0; num = (num || 0).toString(); for ( var i = num.length - 1; i >= 0; i--) { counter++; result = num.charAt(i) + result; if (!(counter % 3) && i != 0) { result = ',' + result; } } return result; }</code> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <code class = "js" > /** * 数字千分位形式 * * @param * @arrange (www.idcnote.com) **/ // 方法三 function toThousands(num) { var num = (num || 0).toString(), re = /\d{3}$/, result = '' ; while ( re.test(num) ) { result = RegExp.lastMatch + result; if (num !== RegExp.lastMatch) { result = ',' + result; num = RegExp.leftContext; } else { num = '' ; break ; } } if (num) { result = num + result; } return result; }</code> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <code class = "js" > /** * 数字千分位形式 * * @param * @arrange (www.idcnote.com) **/ // 方法四 function toThousands(num) { var num = (num || 0).toString(), result = '' ; while (num.length > 3) { result = ',' + num.slice(-3) + result; num = num.slice(0, num.length - 3); } if (num) { result = num + result; } return result; }</code> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <code class = "js" > /** * 数字千分位形式 * * @param * @arrange (www.idcnote.com) **/ // 方法五 function toThousands(num) { var num = (num || 0).toString(), temp = num.length % 3; switch (temp) { case 1: num = '00' + num; break ; case 2: num = '0' + num; break ; } return num.match(/\d{3}/g).join( ',' ).replace(/^0+/, '' ); }</code> |
1 2 3 4 5 6 7 8 9 10 11 | <code class = "js" > /** * 数字千分位形式 * * @param * @arrange (www.idcnote.com) **/ // 方法六 function toThousands(num) { return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,' ); }</code> |
测试结果

注:关于JS从数字千分位格式化的性能优化入门实例的内容就先介绍到这里,更多相关文章的可以留意
代码注释