Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Abfrage ob ein String , Zahlen enthält ? (https://www.delphipraxis.net/40319-abfrage-ob-ein-string-zahlen-enthaelt.html)

Cyberbob_at_tot 14. Feb 2005 10:58


Abfrage ob ein String , Zahlen enthält ?
 
Hallo zusammen,
ich habe das Problem, das ich eine Stringvariable habe, die Buchstaben oder Zahlen enthalten kann!
Ich will aber nur die rausfiltern wo zahlen drin sind, wie kann ich das machen ?

MFG

Cyberbob

malo 14. Feb 2005 11:19

Re: Abfrage ob ein String , Zahlen enthält ?
 
[oh]pos, delete[/oh]

Mit pos die Zahlen im String raussuchen und ggf. mit delete entfernen.

//edit: Oder, statt Pos, mit einer For-Schleife jedes Zeichen deines Strings nach Zahlen durchzusuchen und ggf. löschen ;)

Boombuler 14. Feb 2005 11:21

Re: Abfrage ob ein String , Zahlen enthält ?
 
Hi

wenn du wissen willst ob überhaupt zahlen da drin stehen...

Delphi-Quellcode:
function ZahlenDrin(aString:String):boolean;
var Loop:Integer;
begin
  result := false;
  for Loop := 1 to Length(aString) do
    if (aString[Loop] in ['0'..'9']) then result := true;
end;
sonst wenn du wissen willst ob der String NUR eine Zahl ist:
Delphi-Quellcode:
function IstZahl(aString:String):boolean;
var tmp:double;
begin
  try
    tmp := strtofloat(aString);
    result := true;
  except
    result := false;
  end;
end;
hab beide gerad nur so runter getippt sollte laufen hab ich aber nicht getestet!

Greetz
Boombuler

Jasocul 14. Feb 2005 11:22

Re: Abfrage ob ein String , Zahlen enthält ?
 
Delphi-Quellcode:
for i := 1 to length(stringvariable) do
begin
  if stringvariable[i] in ['0'..'9'] then
     // Mach was mit der Zahl
  else
     // Dat dürfte dann keine Zahl sein
  end;
end;

alcaeus 14. Feb 2005 11:25

Re: Abfrage ob ein String , Zahlen enthält ?
 
Und wenn du das ganze noch optimieren willst, kannst du die Schleife abbrechen (exit/break), sobald du die erste Zahl gefunden hast. Die weiteren Zahlen tun ja nichts zur Sache wenn du wissen willst, ob überhaupt eine Zahl enthalten ist..

Greetz
alcaeus

jensw_2000 14. Feb 2005 11:31

Re: Abfrage ob ein String , Zahlen enthält ?
 
oder so ...


Delphi-Quellcode:
function istZahl(S:String):boolean;
var dummy:extended;
    FS:TFormatSettings;
begin
  GetLocaleFormatSettings(0,FS);
  result:=tryStrToFloat(s,dummy,FS) ;
end;


AUFRUF:

istZahl('3423ere24'); //false
istZahl('342324'); //true
:hi:

[EDIT]
:oops: nicht zuende gelesen ... so bekommst du nur raus, ob der komplette String einen numerischen Wert enthält
[/EDIT]

Cyberbob_at_tot 14. Feb 2005 12:06

Re: Abfrage ob ein String , Zahlen enthält ?
 
Cool besten dank Jungs,
Jasocul und Boombuler, eure Vorschläge werde ich mal nutzen und ausprobieren!

Danke für die SChnelle Antwort!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz