Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#28

Re: 787454545454545645454544 ist kein gültiger integerwert

  Alt 13. Dez 2009, 19:14
Zitat von Muchacho:
Bin erstaunt, da solche Zahlen werden auch z.B. bei IBAN Berechnungen erzeugt
und anschließend mit modulo 97 behandelt, also offensichtlich keine Zauberei.
Zitat von Dax:
(a + b) mod x = ((a mod x) + (b mod x)) mod x
Dann geht das ohne große Zahlen.
Delphi-Quellcode:
Function Modulo (VerdammtGrosseZahl : String; Modulo : Integer) : Integer;
Var
  Zahl : Integer;
  i : integer;

Begin
  Zahl := 0;
  for i:=1 to length (VerdammtGrosseZahl) do
    // Zahl := (Zahl*10 + Ord(VerdammtGrosseZahl[i]) - 10) mod Modulo;
    Zahl := (Zahl*10 + Ord(VerdammtGrosseZahl[i]) - Ord('0')) mod Modulo;
End;
[edit] Code verbessert [/edit]
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat