我必须在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/

10-16 19:32