Kann AutoIt nicht mit so großen Zahlen umgehen.
Auch mit der UDF BigNum bekomme ich das gleiche falsch Ergebnis.
Jemand 'ne Idee. Gruß Paule
[autoit]#cs
Die Berechnung erfolgt in mehreren Schritten. Zuerst wird die Länderkennung um zwei Nullen ergänzt.
Danach wird aus Kontonummer und Bankleitzahl die BBAN kreiert.
Also beispielsweise Bankleitzahl 70090100 und Kontonummer 1234567890 ergeben die BBAN 700901001234567890.
Anschließend werden die beiden Alpha-Zeichen der Länderkennung sowie weitere eventuell in der
Kontonummer enthaltene Buchstaben in rein numerische Ausdrücke umgewandelt.
Die Grundlage für die Zahlen, die aus den Buchstaben gebildet werden sollen,
bildet ihre Position der jeweiligen Alpha-Zeichen im lateinischen Alphabet.
Zu diesem Zahlenwert wird 9 addiert. Die Summe ergibt die Zahl, die den
jeweiligen Buchstaben ersetzen soll. Dementsprechend steht für A (Position 1+9) die Zahl 10,
für D (Position 4+9) die 13 und für E (Position 5+9) die 14.
Der Länderkennung DE entspricht also die Ziffernfolge 1314.
Im nächsten Schritt wird diese Ziffernfolge, ergänzt um die beiden Nullen,
an die BBAN gehängt. Hieraus ergibt sich 700901001234567890131400.
Diese bei deutschen Konten immer 24-stellige Zahl wird anschließend Modulo 97 genommen.
Das heißt, es wird der Rest berechnet, der sich bei der Teilung der 24-stelligen Zahl durch 97 ergibt.
Das ist für dieses Beispiel 90. Dieses Ergebnis wird von der nach ISO-Standard festgelegten Zahl 98 subtrahiert.
Ist das Resultat, wie in diesem Beispiel, kleiner als Zehn, so wird der Zahl eine Null vorangestellt,
sodass sich wieder ein zweistelliger Wert ergibt. Somit ist die errechnete Prüfziffer 08. Aus der Länderkennung,
der zweistelligen Prüfsumme und der BBAN wird nun die IBAN generiert.
Die ermittelte IBAN lautet in unserem Beispiel: DE08700901001234567890.
Zur besseren Veranschaulichung das ganze noch einmal zusammengefasst:
[/autoit][autoit][/autoit][autoit]Bankleitzahl 70090100
Kontonummer 1234567890
BBAN 700901001234567890
alphanumerische Länderkennung DE
numerische Länderkennung 1314 (D = 13, E = 14)
numerische Länderkennung ergänzt um 00 131400
Prüfsumme 700901001234567890131400
Prüfsumme Modulo 97 90
Prüfziffer 08 (98 - 90, ergänzt um führende Null)
Länderkennung +Prüfziffer + BBAN = IBAN DE08700901001234567890
#ce
$iIBAN=700901001234567890131400
ConsoleWrite("|0000| " & StringFormat("%.0f", $iIBAN) & @LF)
ConsoleWrite("|0000| " & Mod($iIBAN, 97) & @LF)
edit gtaspider: AutoIt code graphisch hervorgehoben. Bitte AutoIt Code mit [ autoit][ /autoit] (ohne Leerzeichen) posten