更改小数分隔符

时间:2015-08-18 13:37:14

标签: javascript

我必须在javascript中将数字舍入到2位小数。但我还必须从“。”更改小数点分隔符。到“,”。

我发现了一些关于如何将数字舍入到2位小数的帖子

How to round1 How to round2

我发现了一些热点来改变小数点分隔符

Change Decimal Separator1 Change Decimal Separator2

但他们都操纵字符串,改变“,”为“。”,或类似的东西。没有直接的方法来设置小数点分隔符?像全局配置一样?

1 个答案:

答案 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('');
        }

没有全局配置,你必须使用这个方法,我建议你定义它并在所有地方使用它,这就是我的工作。