zoukankan      html  css  js  c++  java
  • js将金额专成每隔3位数加逗号

    js将金额专成每隔3位数加逗号,比如 12345.00 转成 12,345.00;

    懒得解释具体代码如下

     1 //分割
     2     String.prototype.joinByNum = function(num, deli){
     3         (typeof num  == 'undefined' || num  == 0 || num == '' ) && (num = 3);
     4         (typeof deli == 'undefined' || deli == '') && (deli = ',');
     5         var oristr    = this.toString().replace(/^s*|s*$|¥|,/g, ''),//去除了一些特殊符号以及空格
     6             i         = oristr.length - 1,
     7             lastIndex = oristr.lastIndexOf('.'),
     8             str       = '',
     9             index     = 0;
    10         if(isNaN(oristr)) return oristr;
    11         (lastIndex !== -1) && (i = lastIndex - 1);
    12         for (; i >= 0; i--) {
    13            str = oristr[i] + str;
    14            if ( i !== 0 && ++index % num === 0) {
    15                 str = deli + str;
    16            }
    17         }
    18         str += lastIndex !== -1 ? (function(){
    19             return Number(oristr.substr(lastIndex)).toFixed(2).substr(1);
    20         })() : '.00';
    21        
    22         return str;
    23     };
    24 
    25     //钱分割
    26     Number.prototype.joinByNum = function(){
    27         return ''.joinByNum.apply(''+ this, arguments);
    28     };

    测试结果:

    old:789456123.22
    new:789,456,123.22

    old:10154344
    new:10,154,344.00

    貌似num里有个方法,所以又改了下。注意:这个toLocaleString貌似有点问题。比如safari就不会转。

    //钱分割
        Number.prototype.fomatMoney = function(){
            var str = this.toLocaleString(),
                arr = str.split('.');
            if (arr.length < 2) {
                str = arr[0]+ '.00';
            }else{
                str = arr[0] + Number(arr[1]).toFixed(2).substr(1);
            }
            return str;
        };
        //钱分割
        String.prototype.fomatMoney = function(){
            var oristr = this.toString();
            if(oristr.indexOf(',') !== -1) return oristr;
            return (0).fomatMoney.apply(Number(oristr), arguments);
        };
  • 相关阅读:
    mysql和sql server的update语句的区别
    毕业设计进度日志03
    毕业设计进度日志02
    毕业设计进度日志01
    大数据外出实训报告10
    大数据外出实训报告9
    大数据外出实训报告8
    大数据外出实训报告二
    大数据外出实训报告一(2018/7/9)
    软件工程个人作业02
  • 原文地址:https://www.cnblogs.com/songbyjson/p/5109719.html
Copyright © 2011-2022 走看看