gpt4 book ai didi

javascript - JavaScript 中的模数 - 大数

转载 作者:可可西里 更新时间:2023-11-01 01:21:34 28 4
gpt4 key购买 nike

我尝试用 JS 的取模函数计算,但没有得到正确的结果(应该是 1)。这是一段硬编码的代码。

var checkSum = 210501700012345678131468;
alert(checkSum % 97);

Result: 66

这里有什么问题?

问候,本尼迪克特

最佳答案

对于 IBAN 计算形式的普通银行帐号,我最终得到一个包含在字符串数据类型中的非常大的数字。从这个大数字中,我必须找到除以 97 后的其余部分 -> 大数字 % 97。

一旦我将数据类型转换为整数,就会出现溢出,导致负整数并最终导致错误的剩余值。当我看到一些冗长的代码片段(也给出了错误的结果)时,我忍不住分享我自己的代码。学分转到Finding Modulus of a Very Large Number with a Normal Number

modulo: function(divident, divisor) {
var partLength = 10;

while (divident.length > partLength) {
var part = divident.substring(0, partLength);
divident = (part % divisor) + divident.substring(partLength);
}

return divident % divisor;
}

注意我在这里使用 10 个位置,因为这比 JavaScript 中最大整数的 15 个(和一些)位置小,它导致数字大于 97,这是一个很好的整数。前两个参数很重要。

关于javascript - JavaScript 中的模数 - 大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/929910/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com