如何阻止javascript格式化数字?

如何阻止javascript格式化数字?,javascript,math,Javascript,Math,当你在JS中运行一个巨大的sum时,它的结果是:1.0328135768135768e+21。 有没有办法让它输出一个纯整数,即使它很长 谢谢。这似乎起到了作用。有点: 1.0328135768135768e+21.toString("10"); // "1032813576813576802460" 1.0328135768135768e+50.toString("10") // "103281357681357664662886440420862446808642642662440" 请

当你在JS中运行一个巨大的sum时,它的结果是:
1.0328135768135768e+21
。 有没有办法让它输出一个纯整数,即使它很长

谢谢。

这似乎起到了作用。有点:

1.0328135768135768e+21.toString("10");
// "1032813576813576802460"

1.0328135768135768e+50.toString("10")
// "103281357681357664662886440420862446808642642662440"
请注意(如上所示),由于JS对浮点数的处理,您不仅可以得到在末尾用零指定的数字

如果您希望在结尾处显示所有零,您可以自己设置格式:

function formatNumber(n) {
    var s = n + "",
        a = s.split("e");
    if (a.length === 1)
        return s;
    s = a[0].replace(/\./,"");
    s += (new Array(+a[1] - s.length + 2).join("0"));
    return s;
}
演示:(注意:根本没有经过彻底测试,只是我拼凑了一个半生不熟的想法,给你一个起点。)


或者有多个库。

如果数字超出整数范围,则没有库,如上面的示例所示。