チェックデジットの計算方法 桁数の多い数字を扱う場合、誤り検知用にチェックデジット(検証番号)といわれるものがあります。大抵は末尾についていたりします(末尾以外にある場合もあります)。 いくつか計算方法をメモしておきます。 以下の計算の元になる数値は、チェックデジットを除いたものです。 実運用上は、少しだけ違う変形版のチェックデジットが使われていることがあります。 参考 モジュラス10 ウェイト2・1分割(Luhn formula) 数値の各桁に、下の桁から2・1・2・1・…の順番に係数(ウェイト)を掛けます。 各桁の結果が2桁の場合には、十の位と一の位を分けて足し合わせます(分割)。 それぞれの合計を求めます。 合計を10で割り、余りを求めます(モジュラス)。 この余りを 10 から引いたもの(10 - 余り)がチェックデジットです。ただし余りが0の場合はチェックデジットも「0」になりま
![[メモ] 各種チェックデジットの計算方法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/03cf77946389297f71e44cf1312be5d277356fe9/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkYwJTJGOTczNTAlMkZwcm9maWxlLWltYWdlcyUyRjE2MjA1NjgxMDQ_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmZtPXBuZzMyJnM9Mjc0MTE0YjRmMTNlNzI5ZGE0ODgwYjRhMjY3YmYzOGQ%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253Dc8ce0f183905cc4cbc0ddb54ba5e5b42%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCJUUzJTgzJUExJUUzJTgzJUEyJTVEJTIwJUU1JTkwJTg0JUU3JUE4JUFFJUUzJTgzJTgxJUUzJTgyJUE3JUUzJTgzJTgzJUUzJTgyJUFGJUUzJTgzJTg3JUUzJTgyJUI4JUUzJTgzJTgzJUUzJTgzJTg4JUUzJTgxJUFFJUU4JUE4JTg4JUU3JUFFJTk3JUU2JTk2JUI5JUU2JUIzJTk1JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9NTVmOWIxYTM4M2VjMmUxOTE5MTcyYzgyYjhmYmM5MDg%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB5b3NoaTM4OTExMSZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1wYWQ9MCZzPTlhNWI3Y2IyNGVlYWMxODcxMGFlNjBjM2FlMDU5YmQz%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D7801da631f06f2baf569ed5810c355c1)