js 实现数字格式化(货币格式)几种方法

匿名 (未验证) 提交于 2019-12-03 00:08:02
// 方法一 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(''); }

 

// 方法二 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; }
// 方法三 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; }
/ 方法四 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; }
// 方法五 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+/, ''); }
// 方法六 function toThousands(num) {     return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!