千分位分割
方案一:(可以支持需求 但有缺点, 例如:‘-,124,659.00’,就是这样 )
fmoney=(s,n)=> {
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(2) + "";
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;
}
fmoney('167843.6',3); //参数一 数量 参数二 切割位数
方案二:(可以完美解决 关于千分位问题,例如:‘-177,579.00’ ,‘16,926,158.99’)
fmoney=(value)=> {
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
fmoney('167843.6'); //仅需要一个参数