自定义编写js格式化数字的函数

摘要:处理网页时,有时需要显示长数字,但是当数字长度很长时,很难看出数字有多大。在这种情况下,当一些网站正在处理数字时,当数字的长度大于三时,它们用逗号分隔,这是一种常见的方式

处理网页时,有时需要显示长数字,但是当数字长度很长时,很难看出数字有多大。在这种情况下,当一些网站正在处理数字时,当数字的长度大于三时,它们用逗号分隔,这是一种常见的方式。但我检查了在网页上用逗号分隔数字的方法,我觉得它并不令人满意。所以自己写一个并在这里分享;


处理目标:将超过三位的时,使用逗号将数字分隔开来

//////// 格式化数字,个三个数字加一个逗号
    function geshihua(onum) {
        ////空字符这返回原来的空字符
        onum = $.trim(onum);
        if (onum.length == 0) {
            onum = "";
            return onum;
        };
        ////不是数字,则原样返回
        var ishu = isshuzi(onum);
        if (!ishu) {
            return onum;
        }
        //////是数字,则进行加逗号
        if (onum.indexOf(",") == -1) {
            var dataval = parseInt(onum);
            var data2 = dataval.toFixed(0).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
            return data2;
        } else {
            return onum;
        }

    }

    ////取输入数据的第一个字符,比较他们的ascII码,如果是数字,则ASCII码一定在48---57 之间,
    /////如果不是,则不在这个区间内,这样就可以判断它到底是不是一个数字了
    function isshuzi(onum) {
        var oval = $.trim(onum);
        var oval = oval.charCodeAt(0);
        var oflag = true;
        /////////0---9 的ascII码是48---57
        if (oval < 48 || oval > 57) {
            oflag = false;
        } else {
            oflag = true;
        }
        return oflag;
    }


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_1889