zoukankan      html  css  js  c++  java
  • 千分位分隔符实现

    方式一: 算法实现
    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');
  • 相关阅读:
    Input:type属性
    HttpServletRequest的方法详细说明
    leetcode 第一题 Two Num java
    python之路
    Elasticsearch template学习
    利用Supervisor来守护我们自己的进程
    安装与使用ansible-Centos6.5
    Elasticsearch的一个清理Index脚本
    用统计模拟的方法分析微信抢红包
    数据挖掘R与SQL
  • 原文地址:https://www.cnblogs.com/rencoo/p/11675082.html
Copyright © 2011-2022 走看看