• 千分位分隔符实现


    方式一: 算法实现
    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');
     如果需要支持小数的话,那么把小数部分 split 一下即可
    方式二: 使用正则表达式
    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');
  • 相关阅读:
    用FileSystemWatcher监视文件系统
    生成随机汉字验证码
    MySQL学习笔记二
    python高级学习笔记
    boost bind 表达式中的是值语义还是指针语义?
    容器与适配器的个人总结
    subversion linux使用方法
    boost asio(初学示例)
    MySQL学习笔记一
    subversion 命令
  • 原文地址:https://www.cnblogs.com/rencoo/p/11675082.html
Copyright © 2020-2023  润新知