Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.068 Beiträge
 
Delphi 12 Athens
 
#25

AW: Zeichenkette Prüfen ob gültige Zahl ohne Umwandeln?

  Alt 7. Feb 2011, 10:57
Das Einfachste: Delphi-Referenz durchsuchenVal, Delphi-Referenz durchsuchenTryStrToInt, Delphi-Referenz durchsuchenTryStrToFloat, ...

Delphi-Referenz durchsuchenDecimalSeparator

Ansonsten einfach alles nacheinander prüfen und schauen, ob was Richtiges/Falsches drin vorkommt.
Delphi-Quellcode:
Result := False;
i := 1;
if (i <= Length(S)) and (S[i] in ['+', '-']) then
  Inc(i);
if (i > Length(S)) or not (S[i] in ['0'..'9']) then
  Exit;
while (i <= Length(S)) and (S[i] in ['0'..'9']) do
  Inc(i);
if (i <= Length(S)) and (S[i] = DecimalSeparator) then
begin
  Inc(i);
  if (i > Length(S)) or not (S[i] in ['0'..'9']) then
    Exit;
  while (i <= Length(S)) and (S[i] in ['0'..'9']) do
    Inc(i);
end;
Result := i > Length(S);
Das läßt sich natürlich noch ein bissl hübscher zusammenfassen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 7. Feb 2011 um 11:02 Uhr)
  Mit Zitat antworten Zitat