实现千元分隔符javascript代码详解编程语言

function thousand(text){ 
      //将传过来的数据转换成字符串 
      var str=text.toString(); 
        
      //判断是否存在$或者¥符号 后缀是否是'0.00' 
      var prefix=//¥/g.test(str)?'¥':(//$/g.test(str)?'$':''); 
      var postfix=//¥|/$/g.test(str)?'.00':''; 
        
      //消除'.'  因为有些值比如 $10.00 
      if(str.indexOf(".")!=-1){ 
         var result=//./g.exec(str); 
         var result2=str.substr(0,result['index']);//获取小数点前的所有值 
        }else{ 
          var result2=str; 
        } 
          
        //将非数字剔除 
        var num=result2.replace(/[/D*]/g,''); 
          
        //将字符串换成数组 下面可以使用splice函数 
        var arr=num.split(''); 
          
        //获取有多少个分割点 
        var dot_num=Math.ceil(arr.length/3)-1; 
        if(dot_num<0){//如果数字的值大小根本达不到上千  就直接返回 
          return str; 
        } 
          
  
        for(var i=1,j=0;i<=dot_num;i++,j++){ 
            //给数组添加上分割点',' 
           arr.splice((arr.length-3*i-j),0,','); 
        } 
          
        //返回数字  如果传过来的数字有¥或者有$或者有‘.00’就返回相应的数值 
        return prefix+arr.join('')+postfix;  
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8839.html

(0)
上一篇 2021年7月18日 22:21
下一篇 2021年7月18日 22:22

相关推荐

发表回复

登录后才能评论