javascript中将整数添加千位符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中将整数添加千位符号相关的知识,希望对你有一定的参考价值。

如果num是整数的话,将其转换成带千位符号的字符串:

Number(num).toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, ‘$1‘ +  ‘,‘);

另外,http://www.cnblogs.com/yeminglong/p/5301295.html 给出了小数的转换格式,如下:

 1 /**
 2 *
 3 * @param num
 4 * @param precision
 5 * @param separator
 6 * @returns {*}
 7 *=======================================================
 8 * formatNumber(10000)="10,000"
 9 * formatNumber(10000, 2)="10,000.00"
10 * formatNumber(10000.123456, 2)="10,000.12"
11 * formatNumber(10000.123456, 2, ‘ ‘)="10 000.12"
12 * formatNumber(.123456, 2, ‘ ‘)="0.12"
13 * formatNumber(56., 2, ‘ ‘)="56.00"
14 * formatNumber(56., 0, ‘ ‘)="56"
15 * formatNumber(‘56.‘)="56"
16 * formatNumber(‘56.a‘)=NaN
17 *=======================================================
18 */
19 function formatNumber(num, precision, separator) {
20   var parts;
21   // 判断是否为数字
22   if (!isNaN(parseFloat(num)) && isFinite(num)) {
23     // 把类似 .5, 5. 之类的数据转化成0.5, 5, 为数据精度处理做准, 至于为什么
24     // 不在判断中直接写 if (!isNaN(num = parseFloat(num)) && isFinite(num))
25     // 是因为parseFloat有一个奇怪的精度问题, 比如 parseFloat(12312312.1234567119)
26     // 的值变成了 12312312.123456713
27     num = Number(num);
28     // 处理小数点位数
29     num = (typeof precision !== ‘undefined‘ ? num.toFixed(precision) : num).toString();
30     // 分离数字的小数部分和整数部分
31     parts = num.split(‘.‘);
32     // 整数部分加[separator]分隔, 借用一个著名的正则表达式
33     parts[0] = parts[0].toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, ‘$1‘ + (separator || ‘,‘));
34 
35     return parts.join(‘.‘);
36   }
37   return NaN;
38 }

 

 1 /**
 2 * 把数字转换成货币的格式
 3 * @param decimals
 4 * @param dec_point
 5 * @param thousands_sep
 6 * @returns {string}
 7 */
 8 Number.prototype.format=function(decimals, dec_point, thousands_sep){
 9 var num = (this + ‘‘)
10 .replace(/[^0-9+\\-Ee.]/g, ‘‘);
11 var n = !isFinite(+num) ? 0 : +num,
12 prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
13 sep = (typeof thousands_sep === ‘undefined‘) ? ‘,‘ : thousands_sep,
14 dec = (typeof dec_point === ‘undefined‘) ? ‘.‘ : dec_point,
15 s = ‘‘,
16 toFixedFix = function(n, prec) {
17 var k = Math.pow(10, prec);
18 return ‘‘ + (Math.round(n * k) / k)
19 .toFixed(prec);
20 };
21 // Fix for IE parseFloat(0.55).toFixed(0) = 0;
22 s = (prec ? toFixedFix(n, prec) : ‘‘ + Math.round(n))
23 .split(‘.‘);
24 if (s[0].length > 3) {
25 s[0] = s[0].replace(/\\B(?=(?:\\d{3})+(?!\\d))/g, sep);
26 }
27 if ((s[1] || ‘‘)
28 .length < prec) {
29 s[1] = s[1] || ‘‘;
30 s[1] += new Array(prec - s[1].length + 1)
31 .join(‘0‘);
32 }
33 return s.join(dec);
34 }

 

以上是关于javascript中将整数添加千位符号的主要内容,如果未能解决你的问题,请参考以下文章

使用美元符号和千位分隔符格式化引导表 [关闭]

在 Swift 中将小数点后的逗号和零值添加到千位后的数字字符串中

2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号)。(代码片段

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围

写一个js函数,添加千位分隔符

如何在python中将有符号整数转换为无符号整数