我必须在javascript中将数字四舍五入到小数点后两位。但是我还必须将小数点分隔符从“。”更改。至 ”,”。
我发现了一些关于如何将数字四舍五入到小数点后两位的文章
How to round1
How to round2
我发现一些热更改小数点分隔符
Change Decimal Separator1
Change Decimal Separator2
但是它们都操纵字符串,将“,”更改为“。”或类似的东西。有没有直接的方法来设置小数点分隔符?像全局配置一样?
最佳答案
我建议您这样做:
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('');
}
对此没有全局配置,您将必须使用此方法,我建议您定义此方法并在所有地方使用它,即我所做的。
关于javascript - 更改小数点分隔符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32074018/