将数字转化为千分位形式

将数字转化为千分位形式,如:2367892.2转化为2,367,892.2

1,toLocaleString()方法

parseInt('2367892.2').toLocaleString();

2,正则语句

function splitByReg3(str) {
        var re = /(\d{1,3})(?=(\d{3})+(?:$|\.))/g;
        return str.replace(re, "$1,")
    }

3,字符串处理

function split3str(str) {
        if (str == null && str.length == 0) return null;
        var newStr = [];
        var count = 0;
        var strDot = null; // 字符串小数部分
        if (str.indexOf(".") != -1) {
            strDot = str.substring(str.indexOf("."), str.length);
            str = str.substring(0,str.indexOf("."));
        }
        for(var i = str.length - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr.unshift(",")
                newStr.unshift(str.charAt(i))
            } else {
                newStr.unshift(str.charAt(i));
            }
            count++;
        }
        return  strDot ? newStr.join("") + strDot : newStr.join("") ;
    }

你可能感兴趣的:(js,字符串,正则表达式)