Js千分位格式化金额数字的方法
应用场景:在比较大小的时候,金额的千分位格式需要去掉,才能比较大小!
1.添加千分位
function fmoney(s, n)
{
n = n > 0 && n < = 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse(),
r = s.split(".")[1];
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;
}
添加千分位
function number_format (number, digit, showZero) {
// 保留小数
number = Number(number).toFixed(digit)
number += ''
if (!number.includes('.')) number += '.'
var result = number.replace(/(\d)(?=(\d{3})+\.)/g, function ($0, $1) {
return $1 + ','
}).replace(/\.$/, '')
// 是否显示小数点后面的0,默认显示
if (showZero === false) {
if (+result.split('.')[1] === 0) {
result = result.split('.')[0]
}
}
return result
}
调用:fmoney(‘12345.675910’, 3),返回12,345.676
2.去掉千分位,比较大小
function rmoney(s)
{
return parseFloat(s.replace(/[^\d\.-]/g, ""));
}
调用:rmoney(‘12,345.676’),返回12345.675