function (m,n){
m = Number(m)
m = m.toLocaleString().split(".")[0]+(n==0?"":"." + m.toFixed(n||2).split(".")[1]);
return "¥" + m.replace(/^\./, '0.');
}
上面这个是金额格式化函数如m=20000格式后变为¥20,000.00
请问,函数中的n是什么意思,如果我不要每隔3位的逗号“,”应怎么改?
比如我想把1998.2格式后变为¥1998.20
m = Number(m)
m = m.toLocaleString().split(".")[0]+(n==0?"":"." + m.toFixed(n||2).split(".")[1]);
return "¥" + m.replace(/^\./, '0.');
}
上面这个是金额格式化函数如m=20000格式后变为¥20,000.00
请问,函数中的n是什么意思,如果我不要每隔3位的逗号“,”应怎么改?
比如我想把1998.2格式后变为¥1998.20
另外m.replace(/^\./, '0.');这个表达式是什么意思,关键是^\.是啥?
去掉toLocaleString()
function c(m, n){
m = Number(m);
m = (''+m).split(".")[0] + (n == 0 ? "" : "." + m.toFixed(n||2).split(".")[1]);
return "¥" + m.replace(/^\./, '0.');
}c(1998.2, 2)toLocaleString()将金额转换成本地平台表示的格式,但是在某些浏览器中可能不起作用。m.toFixed(n||2) 是将金额转换成固定小数位数的字符串,但是最后一位小数会四舍五入m.replace(/^\./, '0.') 当结果是已小数点开头,即没有0时,将点转换成 0. (可能在某些情况下m会出现.1998的情况)