在javascript(大于2 ^ 53)上寻找一个可以处理大数字的库我检查了几个问题(JavaScript large number library?和Is there a bignum library for JavaScript?)然后用{{3}修改了一些问题}和javascript-bignum.js,但事实是我无法表示奇数,因为两者都是
Big(9007199254740995);
和
SchemeNumber.fn["string->number"](9007199254740995);
返回
9007199254740996
而不是
9007199254740995
正如我所料。
那么,我做错了吗?或者没有办法表示大的奇数?
答案 0 :(得分:8)
当你这么说时
Big(9007199254740995)
你没有给bignum图书馆一个机会!您的数字文字首先由纯JS解析,其中该数字不能完全表示。您只需使用
即可看到此信息window.alert(9007199254740995);
警告9007199254740996
。
为了让您选择的bignum库成功代表此数字,您需要将其作为字符串传递,例如:
Big('9007199254740995')
应该给你这个确切的数字,作为一个bignum。