我试图理解为什么我无法使用JavaScript计算正确的模数。我尝试过的操作是:
错误答案
28493595674446332150349236018567871332790652257295571471311614363091332152517 % 6 = 4
结果应为1。
28493595674446332150349236018567871332790652257295571471311614363091332152517 % 6 = 1
我曾尝试将此数字转换为BN,但不幸的是,我总是得到相同的答案。但是,如果您使用Wolfram alpha或其他数学软件,它将返回正确的答案。
发生了什么事?我在做什么错?
JavaScript中的整数范围是+/- 9007199254740991(Number.MAX_SAFE_INTEGER)。您的电话号码超出了JS的范围。
您还可以使用BigInt表示法来获得正确的答案。28493595674446332150349236018567871332790652257295571471311614363091332152517n % 6n
请参见What is JavaScript's highest integer value that a number can go to without losing precision?