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

    //正则表达式实现千位分隔符
    function format(num){
        var reg = /d{1,3}(?=(d{3})+$)/g;
        return (num + '').replace(reg, '$&,');
    }
    console.log(format(13123903243));  //13,123,903,243

    解释:

    正则表达式 d{1,3}(?=(d{3})+$)  表示前面有1~3个数字,后面的至少由一组3个数字结尾。

    ?=表示正向引用,可以作为匹配的条件,但匹配到的内容不获取,并且作为下一次查询的开始。

     $& 表示与正则表达式相匹配的内容。

    //常规循环方法实现千位分隔符
    function format1(num){
        num = num + '';  //数字转字符串
        var str = "";
        for(var i=num.length-1,j=1; i>=0; i--,j++){
            if(j%3==0 && i!=0){         //每隔三位加逗号,过滤正好在第一个数字的情况 
                str += num[i] + ',';    //加千分位逗号 
                continue;
            }
            str += num[i];
        }
        return str.split('').reverse().join('');  //字符串=>数组=>反转=>字符串 
    }
    console.log(format1(13123903243));  //13,123,903,243

     

     

     

     

  • 相关阅读:
    woj 1574
    UESTC 594 我要长高 dp单调队列
    HDU 3401 Trade dp 单调队列优化
    HDU 2844 Coins 多重背包
    2-1
    1-2
    1-1
    12-1
    9-1
    14-8
  • 原文地址:https://www.cnblogs.com/guorange/p/7152745.html
Copyright © 2011-2022 走看看