zoukankan      html  css  js  c++  java
  • JS实现的4种数字千位符格式化方法分享

    // 方法一

    function toThousands(num) {

        var result = [ ], counter = 0;

        num = (num || 0).toString().split('');

        for (var i = num.length - 1; i >= 0; i--) {

            counter++;

            result.unshift(num[i]);

            if (!(counter % 3) && i != 0) { result.unshift(','); }

        }

        return result.join('');

    }

    // 方法二

    function toThousands(num) {

        var result = '', counter = 0;

        num = (num || 0).toString();

        for (var i = num.length - 1; i >= 0; i--) {

            counter++;

            result = num.charAt(i) + result;

            if (!(counter % 3) && i != 0) { result = ',' + result; }

        }

        return result;

    }

    // 方法三

    function toThousands(num) {

        var num = (num || 0).toString(), re = /d{3}$/, result = '';

        while ( re.test(num) ) {

            result = RegExp.lastMatch + result;

            if (num !== RegExp.lastMatch) {

                result = ',' + result;

                num = RegExp.leftContext;

            } else {

                num = '';

                break;

            }

        }

        if (num) { result = num + result; }

        return result;

    }

    // 方法四

    function toThousands(num) {

        var num = (num || 0).toString(), result = '';

        while (num.length > 3) {

            result = ',' + num.slice(-3) + result;

            num = num.slice(0, num.length - 3);

        }

        if (num) { result = num + result; }

        return result;

    }

    // 方法五

    function toThousands(num) {

        var num = (num || 0).toString(), temp = num.length % 3;

        switch (temp) {

            case 1:

                num = '00' + num;

                break;

            case 2:

                num = '0' + num;

                break;

        }

        return num.match(/d{3}/g).join(',').replace(/^0+/, '');

    }

    // 方法六

    function toThousands(num) {

        return (num || 0).toString().replace(/(d)(?=(?:d{3})+$)/g, '$1,');

    }

  • 相关阅读:
    flutter 屏幕宽高 状态栏高度
    flutter 图片圆角
    flutter ListView嵌套高度问题
    Dubbo原码解析(version:2.5.3)
    ms
    InnoDB锁问题 & DB事务隔离级别
    Spring父容器与子容器
    Spring bean 的加载过程和生命周期
    logback
    Disconf (version : 2.6.21)
  • 原文地址:https://www.cnblogs.com/xjt360/p/7998789.html
Copyright © 2011-2022 走看看