我必须在javascript中将数字舍入到2位小数。但我还必须从“。”更改小数点分隔符。到“,”。
我发现了一些关于如何将数字舍入到2位小数的帖子
我发现了一些热点来改变小数点分隔符
Change Decimal Separator1 Change Decimal Separator2
但他们都操纵字符串,改变“,”为“。”,或类似的东西。没有直接的方法来设置小数点分隔符?像全局配置一样?
答案 0 :(得分:1)
我建议你这样做:
function decimalSeparator($yourInt){
return parseInt( $yourInt ).toLocaleString()
}
编辑检查此解决方案:
function formatDK(num, decimals) {
return formatLocale(num, decimals, '.', ',');
} //for dk
function formatUK(num, decimals) {
return formatLocale(num, decimals, ',', '.');
} //for Uk
function formatLocale(num, decimals, kilosep, decimalsep) {
var i, bNeg = num < 0, x = Math.round(num * Math.pow(10, decimals)), y = Math.abs(x).toString().split(''), z = y.length - decimals;
if (z <= 0) {
for (i = 0; i <= -z; i += 1) {
y.unshift('0');
}
z = 1;
}
if (decimals > 0) {
y.splice(z, 0, decimalsep);
}
while (z > 3) {
z -= 3;
y.splice(z, 0, kilosep);
}
if (bNeg) {
y.splice(0, 0, '-');
}
return y.join('');
}
没有全局配置,你必须使用这个方法,我建议你定义它并在所有地方使用它,这就是我的工作。