Quick actions

cmd+k|ctrl+k

Navigation

Languages

千分位分隔符

Snippet info

Language

JavaScript

Visibility

public

Author

pheker

Created

2017-07-25T11:49:04Z

Updated

2017-08-01T05:22:08Z


/**
 * 利用正则转换数值或数值字符串为千位符格式
 * decimalNeedComma 小数是否转为千位符格式
 * //131452256235131452256235.12312312 超出精度的数 不适用
 * eg:
 *      console.log(addThousandSeparator(-131452256235.12312312))
 *      console.log(addThousandSeparator(31452256235.12312312,true))
 */
let addThousandSeparator=(num,decimalNeedComma=false)=>{
    
   return (num||0).toString().split(".").reduce((ret,v,i,arr)=>{
        return (i?ret+".":"")+
            (
                i?
                (decimalNeedComma?v.replace(/(\d{3})(?=\d+)/g,'$1,'):v)
                :
                v.replace(/[+-]?(\d)(?=(?:\d{3})+(\.\d+)?$)/g, '$1,'));
    },'')
}
console.log(addThousandSeparator(13452256235.12312312))
console.log(addThousandSeparator(-3452256235.12312312,true))

console.log(addThousandSeparator(131452256235131452256235.12312312,true))//不适用
let num = -345225324234324234223426235.1232314;

console.log(`
addThousandSeparator
========================================
           我是风骚的分隔线             
========================================
toLocaleString
`);

//toLocaleString
console.log((13421543453).toLocaleString());
console.log((-234223426235.1232314).toLocaleString());
console.log((45225324234324234223426235).toLocaleString());
INFO