js金额标准格式化(可指定精确小数位)
程序员文章站
2022-07-14 23:45:05
...
js金额标准格式化(可指定精确小数位,精度位数超出会四舍五入哦)
/**
* 格式化金额
* @param strData
* @param n保留几位小数
*/
function _formatAmount(strData, n) {
var CurrencyAndAmountRegExp = /^(\d{1,18})|(\d{1,18}\.)|(\d{1,17}\.\d{0,1})|(\d{1,16}\.\d{0,2})|(\.\d{1,2})$/;
var _result = CurrencyAndAmountRegExp.test(strData);
if(_result == false){
return strData;
}
// 一般来说最多就6位吧,当然如果有特殊需求可自行更改(`・∀・´)
n = n > 0 && n <= 6 ? n : 2;
var formatData = parseFloat((strData + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
var l = formatData.split('.')[0].split('').reverse();
var r = formatData.split('.')[1];
var t = '';
for(i = 0; i < l.length; i ++ ) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? ',' : '');
}
return t.split('').reverse().join('') + '.' + r;
}
推荐阅读