Große Zahlen (Access)

Jupp, Mittwoch, 20.11.2019, 22:25 (vor 20 Tagen)

Habe eine Große Zahl
Beispiel : 210501700012345678131400

die soll berechnet werden :
Rest = 210501700012345678131400 mod 93

bekomme immer überlauf

Große Zahlen

Martin Asal @, Donnerstag, 21.11.2019, 11:23 (vor 20 Tagen) @ Jupp

Hallo Jupp,

mit so großen Zahlen kann VBA eigentlich nicht mehr genau rechnen. Nicht umsonst bekommst du mit
debug.Print 210501700012345678131400
folgendes zurück:

2,10501700012346E+23

Mit einem 32-Bit Office ist bei 2^32 Schluss (ca 2,1 Milliarden), mit einem 64-Bit Office geht es bis zu 9 Trillionen, aber dir geht es um Zweihundertzehn Trilliarden. Im ersten Moment haben ich mich gefragt, was du damit willst, aber wenn man "Mod 93" durch "Mod 97" ersetzt, wird klar, dass es dir um eine IBAN-Prüfung geht.

Für das genaue Rechnen mit derartig großen Zahlen kann man im Netz bestimmt ein paar VBA-Funktionen finden, denen die Zahl als String übergeben wird. Ich bin mir aber sicher, dass für sie alle gilt: Schnell ist was anderes. Ich perönlich würde mich fragen, ob eine IBAN-Prüfung in VBA den Aufwand lohnt - die Bank prüft ja vor der Zahlung auf jeden Fall auch.

Martin

Große Zahlen

Jupp, Donnerstag, 21.11.2019, 16:47 (vor 19 Tagen) @ Martin Asal

Danke für den Tipp, genau wie du schreibst geht es um IBAN-Prüfung

Große Zahlen

PhilS ⌂, Freitag, 22.11.2019, 12:49 (vor 18 Tagen) @ Martin Asal

Ich perönlich würde mich fragen, ob eine IBAN-Prüfung in VBA den Aufwand lohnt - die Bank prüft ja vor der Zahlung auf jeden Fall auch.

Die Argumentation überzeugt mich nicht. Es macht durchaus Sinn, wenn man direkt bei der Eingabe merkt, dass eine IBAN nicht korrekt sein kann und nicht erst evtl. Wochen später wenn man sie für eine Bank-Transaktion verwenden möchte.


Es gibt übrigens eine Lösung von Andreas Vogt, wie man die Modulo-Berechnung großer Zahlen durch Aufteilen erledigen kann.

RSS-Feed dieser Diskussion
powered by my little forum