js 千分符 三个分成一份 10,123,456.789

方法1:JS千分位格式化

    // 将数字转换为字符串
    var aa = String(10123456789);
    var arr = [];
    // 获取数字长度对3取余的结果
    var num = aa.length % 3;
    var num2 = 0;
    var tem = '';

    // 若不为0,则表示字符串的起始部分有不足3位的数字
    if(num != 0){
        var firs = aa.substring(0,num);  // 截取起始部分
        arr.push(firs);                  // 将这部分添加到数组中
    }
    aa = aa.substring(num);  // 剩余的部分

    // 遍历字符串的每一个字符
    for(var i = 0; i < aa.length; i++){
        num2++;
        tem += aa[i];
        // 每3位数字,将其添加到数组中
        if(num2 == 3 && tem){
            arr.push(tem);
            num2 = 0;
            tem = '';
        }
    }

    // 使用`,`拼接数组,并将最后一个`,`替换为`.`
    var abc = arr.join(',').replace(/(.*),/,'$1.');

    console.log(abc)

方法2:JS千分位格式化

  var test1 = '1234567890'

    // 定义格式化函数
    function formatCash(str) {
        // 从尾部开始,每3个数字之间添加`,`分隔
        return str.split('').reverse().reduce((prev, next, index) => {
            return ((index % 3) ? next : (next + ',')) + prev
        })
    }

    console.log(formatCash(test1))

posted on 2021-10-27 15:12  完美前端  阅读(130)  评论(0)    收藏  举报

导航