牛骨文教育服务平台(让学习变的简单)
博文笔记

千位分隔符

创建时间:2018-03-27 投稿人: 浏览次数:200
function thousands(num){
    num = num.toString();   //将输入的数字转换为字符串
    if(/^-?d+.?d+$/.test(num)){  //判断输入内容是否为整数或小数
        if(/^-?d+$/.test(num)){    //判断输入内容是否为整数
            num =num + ",00";   //将整数转为精度为2的小数,并将小数点换成逗号
        }else{
            num = num.replace(/./,",");    //将小数的小数点换成逗号
        }
        while(/d{4}/.test(num)){ //
            /***
             *判断是否有4个相连的数字,如果有则需要继续拆分,否则结束循环;
             *将4个相连以上的数字分成两组,第一组$1是前面所有的数字(负数则有符号),
             *第二组第一个逗号及其前面3个相连的数字;
             * 将第二组内容替换为“,3个相连的数字,”
             ***/
            num = num.replace(/(d+)(d{3},)/,"$1,$2");
        }
        num = num.replace(/,(d*)$/,".$1");   //将最后一个逗号换成小数点
    }
    return num
}
// console.log(thousands(22666.333))   //22,666.333


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。