Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

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

Re: Aus Integer-Wert bestimmte Stelle extrahieren

  Alt 6. Jul 2007, 16:49
So würde ich das machen, wenn ich unbedingt die Stelle angeben will...
Delphi-Quellcode:
Function GetDigit (anInteger, aDigit : Integer) : Integer;
Begin
  Case aDigit of
     1 : Result := anInteger Mod 10;
     2 : Result := (anInteger Div 10) Mod 10;
     3 : Result := (anInteger Div 100) Mod 10;
     4 : Result := (anInteger Div 1000) Mod 10;
     5 : Result := (anInteger Div 10000) Mod 10;
     6 : Result := (anInteger Div 100000) Mod 10;
     7 : Result := (anInteger Div 1000000) Mod 10;
     8 : Result := (anInteger Div 10000000) Mod 10;
     9 : Result := (anInteger Div 100000000) Mod 10;
   else Result := 0 // Mehr Stellen hat ein INTEGER nicht (und wenn doch: einfach erweitern)
  End
End;
Das dürften -grob geschätzt- 2 Operationen und ein paar Vergleiche (Case of) sein. Schneller ginge es(?) nur mit einer Sprungtabelle. Weiterhin spart man eine Multiplikation ggü der vorherigen Version.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat