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

    方法一:使用正则表达式 

    1. <span style="font-size:14px;">function format (num) {  
    2.     var reg=/d{1,3}(?=(d{3})+$)/g;   
    3.     return (num + ' ').replace(reg, '$&,');  
    4. }</span>  

    解释

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

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

     $& 表示与正则表达式相匹配的内容,具体的使用可以查看字符串replace()方法的

    第二种:方法-正常思维算法 

    1. function format(num){  
    2.  num=num+'';//数字转字符串  
    3.   var str="";//字符串累加  
    4.   for(var i=num.length- 1,j=1;i>=0;i--,j++){  
    5.       if(j%3==0 && i!=0){//每隔三位加逗号,过滤正好在第一个数字的情况  
    6.           str+=num[i]+",";//加千分位逗号  
    7.           continue;  
    8.       }  
    9.       str+=num[i];//倒着累加数字  
    10.   }  
    11.   return str.split('').reverse().join("");//字符串=>数组=>反转=>字符串  
    12. }  
  • 相关阅读:
    uva11021
    WC2019退役失败记
    北大集训2018垫底记
    NOI后训练记录
    NOI2018垫底记
    NOI前训练记录
    JSOI2018R2游(afo)记
    HNOI(AHOI)2018游记
    JSOI2018R1(九省联考)游(afo)记
    LR 8 Hello 戊戌
  • 原文地址:https://www.cnblogs.com/xiaoan0705/p/8629182.html
Copyright © 2011-2022 走看看