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,');

    }

  • 相关阅读:
    大数据集群迁移的那一夜是怎么过的
    什么是Lambda架构
    从0到1搭建自助分析平台
    业务重要?还是技术重要?
    如何从0到1搭建大数据平台
    从0到1搭建大数据平台之数据采集系统
    高频面试题:秒杀场景设计
    面试官:面对千万级、亿级流量怎么处理?
    来自朋友最近阿里、腾讯、美团等P7岗位面试题
    《我想进大厂》之JVM夺命连环10问
  • 原文地址:https://www.cnblogs.com/xjt360/p/7998789.html
Copyright © 2011-2022 走看看