String --> Zahlen < Pascal < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:03 Do 27.07.2006 | Autor: | Phecda |
hi
wie kann ich herausfinden ob ein string NUR zahlen enthält oder auch andere zeichen wie buchstaben, sonderzeichen etc.?
kennt jemand einen solchen befehl
danke für die hilfe
mfg phecda
|
|
|
|
Hallo Phecda,
> hi
> wie kann ich herausfinden ob ein string NUR zahlen enthält
> oder auch andere zeichen wie buchstaben, sonderzeichen
> etc.?
> kennt jemand einen solchen befehl
> danke für die hilfe
> mfg phecda
Kennst du die Befehle zur Typumwandlung? Ich habe lange kein Pascal mehr programmiert, daher kann ich nur die grundsätzlichen Überlegungen hier skizzieren:
wenn CInt die Funktion ist, die einen String in einen Integer umwandelt, und #Zahl die Variable ist, die du prüfen willst:
programmiere etwa so:
wenn CInt(Zahl) = Zahl, dann Meldung("#Zahl ist eine Zahl"), sonst Meldung("#Zahl enthält Sonderzeichen")
Einen speziellen Befehl kenne ich nicht dafür. Aber mit einer solchen if-Abfrage sollte es gehen.
Gruß informix
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 03:53 Do 21.09.2006 | Autor: | r3wDy |
1) Möchte ich anmerken das hier eine If Abfrage in die Hose gehen würde. Das Programm würde abstürzen im falle das es eben die Zahl nicht konvertieren kann. Daher würde sich hier eher ein try... exept... Block anbieten. also
try
int convertieren {mal mit IntToStr versuchen}
except
{
hier landest du wenns nicht funktioniert hat
}
end;
ansonsten noch ein anderer Ansatz:
In der ASCII Tabelle liegen die Zeichen für Zahlen zwischen 47 und 57
Wenn du nun den ASCII Wert deines Zeichens nimmst, und minus 47 machst, kommst du als Int Wert auf die Entsprechende Zahl.
Damit kannst du im Notfall die umrechnung selber vornehmen aber meistens gibts schon so eine Funktion
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 04:05 Do 21.09.2006 | Autor: | r3wDy |
Tut mich leid, ich hab mich da verklickt, hab aber auch noch nie n Forum mit sovie möglichkeiten gesehen :) Da kommt sowas schonmal vor wenn man neu ist :D
Ich bitt hochoffiziell um verzeihung
|
|
|
|