数字格式化Javascript中的大整数

时间:2017-08-18 10:50:03

标签: javascript

我知道在toLocalString()之类的javascript中有in-build功能来实现数字格式化。但这个问题纯粹是为了学习和逻辑理解。

我在javascript中有一个函数,用于格式化印度数字格式标准中的给定数字(例如:1,234 | 12,21,123 | etc)

代码

function formatter(input) {

    var inputStr = input.toString(), l = inputStr.length;
    var c = 1, f = 0;

    console.log(l);

    for (var x=l-1; x>=0; x--) {

        if (x === 0) {
            continue;
        }

        if (c === 3 && f === 0) {
            inputStr = inputStr.substring(0, x) + ',' + inputStr.substring(x);
            f = 1;
            c = 0;
        } else if (c % 2 === 0 && f === 1) {
            inputStr = inputStr.substring(0, x) + ',' + inputStr.substring(x);
            c = 0;
        }

        c++;
    }

    return inputStr;
}

现在这在大多数情况下都有效(据我测试,如果发现任何错误,请指出错误)。但我的问题是如何处理大数字,即如何处理大于9007199254740991的值。

0 个答案:

没有答案