Math.sqrt();
似乎可以很好地处理长度小于 310 个字符的任何数字。
但是,任何 310 个字符或以上的数字都将返回无穷大...
如果您想自己测试一下,可以在 jsfiddle 上找到 http://jsfiddle.net/gqhk9/2
无论如何,我需要计算数字的平方根,包括一些 310 个字符或更长的数字。
我怎样才能在 js 中做到这一点?
最佳答案
这不是 Math.sqrt
的问题 - 摆脱 Math.sqrt
调用,您仍然会看到无穷大。基本上,Javascript 无法处理那么大的数字——它超出了 64 位浮点 IEEE 754 值的范围。您需要找到某种库来处理任意大小的整数。
请注意,即使对于小于 10309 的数字,前 ~15 位数字后的信息仍然会丢失。如果您关心所有这些数字,那么您应该再次查看专业数学图书馆。
快速浏览网页发现 BigInt.js
引用了几次,但我不知道它有多好。
关于javascript - Math.sqrt() 返回无穷大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9867346/