首页 > 其他 > 详细

千分位分隔符实现

时间:2019-10-15 01:35:31      阅读:100      评论:0      收藏:0      [点我收藏+]
方式一: 算法实现
function getThousand (numStr{
    if (numStr.length < 4return numStr;
    let len = numStr.length;
    let restLen = len % 3// 千分位划分余下的位数
    let arr = [];
    let num = 3// 每3位取一次

    for(var i=0; i<len;) {
        if (restLen !== 0 && i === 0) {
            arr.push(numStr.slice(i, i + restLen));
            i += restLen;
        } else {
            arr.push(numStr.slice(i, i + num));
            i += num;
        }
    }

    return arr.join(‘,‘);
}

function ensureEqual(a, b, message{
    if (JSON.stringify(a) !== JSON.stringify(b)) {
        console.log(`***测试失败, ${JSON.stringify(a)} 不等于 ${JSON.stringify(b)}${message}`);
    }
};

// 测试函数
ensureEqual(getThousand(‘999‘), ‘999‘‘test1‘);
ensureEqual(getThousand(‘1000‘), ‘1,000‘‘test2‘);
ensureEqual(getThousand(‘100000‘), ‘100,000‘‘test3‘);
ensureEqual(getThousand(‘1000000‘), ‘1,000,000‘‘test4‘);
方式二: 使用正则表达式
function _getThousand (num{
    return num.toString().replace(/\B(?=(\d{3})+$)/g‘,‘);
}

ensureEqual(_getThousand(‘999‘), ‘999‘‘test1‘);
ensureEqual(_getThousand(‘1000‘), ‘1,000‘‘test2‘);
ensureEqual(_getThousand(‘100000‘), ‘100,000‘‘test3‘);
ensureEqual(_getThousand(‘1000000‘), ‘1,000,000‘‘test4‘);

千分位分隔符实现

原文:https://www.cnblogs.com/rencoo/p/11675082.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!