我试图理解为什么模运算不能按预期工作:
我需要验证 IBAN,该算法包括进行取模。
根据维基百科:在此输入链接描述 https://en.wikipedia.org/wiki/International_Bank_Account_Number#Validating_the_IBAN
3214282912345698765432161182 模 97 = 1
根据我的 Windows 计算器 ::
3214282912345698765432161182 模 97 = 1
但是当我在 JS 中这样做时,我得到 65 :
var result = 3214282912345698765432161182 % 97;
console.log(result);
// result is 65
为什么我的 JS 成绩是 65 而不是 1?
您的数字高于 (2^53)-1,因此无法正确表示。
您可以使用该功能Number#isSafeInteger
检查使用该号码是否安全
const isSafe = Number.isSafeInteger(3214282912345698765432161182);
console.log(isSafe);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)