AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Abfrage ob ein String , Zahlen enthält ?
Thema durchsuchen
Ansicht
Themen-Optionen

Abfrage ob ein String , Zahlen enthält ?

Ein Thema von Cyberbob_at_tot · begonnen am 14. Feb 2005 · letzter Beitrag vom 14. Feb 2005
Antwort Antwort
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#1

Abfrage ob ein String , Zahlen enthält ?

  Alt 14. Feb 2005, 11:58
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
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#2

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

  Alt 14. Feb 2005, 12:19
[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
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#3

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

  Alt 14. Feb 2005, 12:21
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
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 14. Feb 2005, 12:22
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;
Peter
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

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

  Alt 14. Feb 2005, 12:25
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#6

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

  Alt 14. Feb 2005, 12:31
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


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

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#7

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

  Alt 14. Feb 2005, 13:06
Cool besten dank Jungs,
Jasocul und Boombuler, eure Vorschläge werde ich mal nutzen und ausprobieren!

Danke für die SChnelle Antwort!
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz