以下の例では、2 つの異なる ISIN に対して Luhn アルゴリズムを適用するための 1 つのアプローチを説明しています。 この2つの例の違いは、文字を数字に変換した後の桁数が奇数か偶数かに関係しています。 NSIN要素は任意のアルファベット数字列(9文字)なので、奇数文字の場合は偶数桁になり、偶数文字の場合は奇数桁になります。 奇数桁の場合は、最初の例の方法が使われる。 偶数桁の場合は、2番目の例のようになります。 Luhnアルゴリズムは、より一般的で、両方の種類や長さに対して同じ方法で適用できます(文字列の末尾から、1桁と2桁を交互に掛けます)。
Apple, Inc.です。 ISIN US0378331005、CUSIP 037833100から拡張ISINの本体は、1970年代に割り当てられたオリジナルのCUSIPである。 前面に国番号「US」が追加され、末尾にチェックデジットが追加されています。 国コードは発行国を示す。 チェックデジットはLuhnアルゴリズムで計算されます。
任意の文字を数字に変換してください。 US037833100 -> 30 28 037833100
奇数、偶数の文字を収集する。
3028037833100 = (3, 2, 0, 7, 3, 1, 0), (0, 8, 3, 8, 3, 0)
右端の文字を含むグループ(これは最初のグループ)に2を掛ける:
(6, 4, 0, 14, 6, 2, 0)
それぞれの数字を合計してください。
(6 + 4 + 0 + (1 + 4) + 6 + 2 + 0) + (0 + 8 + 3 + 8 + 3 + 0) = 45
和の10進法:
45 mod 10 = 5
10より引き算をする。
10 – 5 = 5
結果の10進モジュラスを取る (この最後のステップは、結果のチェックデジットが10になるため、和のモジュラスが0である場合に重要です)。
5 mod 10 = 5
つまりISINのチェックデジットは5です。
Treasury Corporation of Victoria
TREASURY CORP VICTORIA 5 3/4% 2005-2016: ISIN AU0000XVGZA3.チェックデジットはLuhnアルゴリズムで計算されます。
任意の文字を数字に変換:
A = 10, G = 16, U = 30, V = 31, X = 33, Z = 35.チェックデジットを数字に変換:
A = 10, G = 16, U = 30, V = 31, X = 33, Z = 35. au0000xvgza -> 10 30 0000 33 31 16 35 10.
奇数と偶数の文字を集める:
103000003331163510 = (1, 3, 0, 0, 3, 1, 3, 1), (0, 0, 0, 3, 1, 6, 5, 0)
右端の文字を含むグループ(これはSECONDグループ)を2倍してください。
(0, 0, 0, 6, 2, 12, 10, 0)
各桁を足すと。
(1 + 3 + 0 + 0 + 3 + 3 + 1 + 3 + 1) + (0 + 0 + 0 + 6 + 2 + (1 + 2) + (1 + 0) + 0) = 27
和の10進法を取る:
27 mod 10 = 7
10から引き算をします。
10 – 7 = 3
結果の10進モジュロを取ります (この最後のステップは、結果のチェックデジットが10になるので、和のモジュロが0である場合に重要です)。
3 mod 10 = 3
したがって、ISINチェックデジットは3です。
BAE Systems
BAE Systems。 ISIN GB0002634946, expanded from SEDOL 000263494
本体はSEDOLで、前面に0を2つ追加したものです。 その後、上記の例のように国番号 “GB “を前面に、チェックデジットを末尾に追加する。