千元分隔符js 写法

可能不太精致 代码不够优化,

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; 
}



转载于:https://my.oschina.net/u/1040928/blog/417566

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值