javaScript如何对数字进行千分位展示

第一种,使用toLocaleString()

var str = 12345678.98765;
console.log(str.toLocaleString());

输出结果,注意小数部分会被四舍五入
在这里插入图片描述

第二种,自定义方法使用循环

// 默认使用逗号分割
		function numSplit(num){
            var result = [],decimal="";
            newNum = num.toString();
            //判断是否是小数
            if(newNum.indexOf(".") != -1){
                decimal = newNum.slice(newNum.indexOf("."));
                newNum = newNum.slice(0, newNum.indexOf("."))
            }
            var length = newNum.length;
            for (let index = 0; index < length; index+=3) {
                if(newNum.length>3){
                    result.unshift(`${newNum.slice(-3)}`);
                    newNum = newNum.slice(0,newNum.length-3);
                }else{
                    result.unshift(newNum)
                }
            }

            return result.join()+decimal;
        }

第三种 使用正则表达式

正则表达式从网上找来的正则表达式参照地址

function numFormat(num){
  var res=num.toString().replace(/\d+/, function(n){ // 先提取整数部分
       return n.replace(/(\d)(?=(\d{3})+$)/g,function($1){
          return $1+",";
        });
  })
  return res;
}

var a=1234567894532;
var b=673439.4542;
console.log(numFormat(a)); // "1,234,567,894,532"
console.log(numFormat(b)); // "673,439.4542"

你可能感兴趣的:(javaScript,javascript)