Seite 1 von 2
Festellen, ob ein String nur Zahlen enthält
Verfasst: 26.12.2004 23:00
von MVXA
Hallo !
Ich hab für ein Programm von mir eine Funktion geschrieben, mit der man überprüfen kann, ob ein String nur Zahlen enthält (#True) oder nicht (#False)
Code: Alles auswählen
Procedure isNumeric(strZahl.s)
DefType.b bytResult
DefType.l lngCount
DefType.s strTmpChar
For lngCount = 1 To Len(strZahl)
strTmpChar = Mid(strZahl, lngCount, 1)
If Asc(strTmpChar) => '0' And Asc(strTmpChar) <= '9'
bytResult = #True
Else
bytResult = #False
Break
EndIf
Next
ProcedureReturn bytResult
EndProcedure
Verfasst: 26.12.2004 23:20
von GPI
Ah. wieder mal ein optimierungswettbewerb:
Code: Alles auswählen
Procedure IsNumeric(*String.BYTE)
Result=#True
While *String\b
If *String\b<'0' Or *String\b>'9'
Result=#False
Break
EndIf
*String+1
Wend
ProcedureReturn Result
EndProcedure
Debug IsNumeric(@"1233587923")
Debug IsNumeric(@"234243jk")
a$="654"
Debug IsNumeric(@a$)
Verfasst: 26.12.2004 23:38
von MVXA
ich habs nur gepostet weil ich diese Funktion nirgends gefunden hab, das soll kein optimierungswettbewerb sein

Verfasst: 26.12.2004 23:58
von Falko
@GPI
Optimieren?
Unter Andere Sprachen ist ein Source von Powerbasic aus dem
englischen Forum, bei dem
ich leider passen muß.
Wie wäre es denn damit? Das wäre doch eine Herausforderung zum
Optimierungswettbewerb, oder?
Gruß Falko
Verfasst: 27.12.2004 00:07
von PMV
Ich hät da nix gegen ... da ich auf Optimierte Codes lauere wie der Wolf auf das Häschen *gg* ... kann ich nur von profetieren, vorallem benutzt ich auch so eine Procedure ... und lernen tut man (Anfänger

) bei so was auch noch
also in dem Sinne *gg*
MFG PMV

Verfasst: 27.12.2004 00:30
von GPI
LittleFurz hat geschrieben:ich habs nur gepostet weil ich diese Funktion nirgends gefunden hab, das soll kein optimierungswettbewerb sein

War nicht böse gemeint. Aber bei solch kleinen Routinen hat jeder seine vorgehensweise. Ich würde sowas über Pointer lösen (siehe oben).
Verfasst: 27.12.2004 00:39
von MVXA
dann lsöcht das ganze hier halt, ich wollt das nur für anfänger bereitstellen... mir doch egal -_-
Verfasst: 27.12.2004 01:00
von GPI
LittleFurz hat geschrieben:dann lsöcht das ganze hier halt, ich wollt das nur für anfänger bereitstellen... mir doch egal -_-
Toll. ich fühl mich jetzt auch mieß
Es führt mehr als nur ein Weg zum Ziel. Wichtig ist erstmal einen weg zu finden.
Verfasst: 27.12.2004 13:56
von redacid
LittleFurz: nein, der Thread wird nicht gelöscht. Ich habe deine Procedur nicht getestet, gehe aber einfach davon aus, dass sie funktioniert. Und nur, weil GPI eine "andere" Version zeigt, ist deine doch noch lange nicht schlechter - nur eben anders gelöst. Es ist doch schön, wenn man für ein und dasselbe Problem gleich mehrere verschiedene Lösungen hat.
Verfasst: 14.04.2006 11:33
von Vallan
Um herauszufinden ob keine Buchstaben da sind (Kürtzer aber schlechter) :
Code: Alles auswählen
string.s = "34"
If UCase(string) = LCase(string)
Debug "Ja"
Else
Debug "Nein"
EndIf