String überprüfen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Mit Mehrfach "Komma" Test (also punkt :mrgreen: )

Code: Alles auswählen

Procedure IsStringNum(String.s)
  Protected Komma.l
  Length = Len(String)
  Protected *Mem.Character = @String
  For I = 0 To Length - 1
    If *Mem\c < 48 Or *Mem\c > 57 ; keine Zahl
      If *Mem\c <> 46
        ProcedureReturn #False
      Else
        If Not Komma
          Komma = #True
        Else
          ProcedureReturn #False
        EndIf
      EndIf
    EndIf
    *Mem + SizeOf(Character)
  Next
  ProcedureReturn #True
EndProcedure
Trenner werde ich aber nicht einbauen :lol:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Trenner werde ich aber nicht einbauen :lol:

wollte ich gerade anmerken: Wie sieht's mit Tausender-Trennzeichen aus? ;-)

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Kiffi hat geschrieben:> Trenner werde ich aber nicht einbauen :lol:

wollte ich gerade anmerken: Wie sieht's mit Tausender-Trennzeichen aus? ;-)

Grüße ... Kiffi
Das können ja beliebig viele sein, also sollte es ein Klacks sein.
Aber Testen, ob die immer 3 Zahlen dazwischen haben, wäre schon etwas
aufwendig. Da ich es nicht brauche, nur gegen Cash :lol:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Das können ja beliebig viele sein, also sollte es ein Klacks sein.

jepp, hilfreich ist in diesem Zusammenhang auch zu wissen, was
Tausendertrennzeichen und Dezimalseparator für Zeichen sind:

Code: Alles auswählen

Procedure.S LocaleString(Info.l) 
  Protected nLocale.S, nLen.l
  nLocale = Space(10)
  nLen    = GetLocaleInfo_(GetUserDefaultLCID_(), Info, nLocale, 10)
  ProcedureReturn Left(nLocale, nLen - 1)
EndProcedure

Debug "Dezimaltrennzeichen: "            + LocaleString(#LOCALE_SDECIMAL)
Debug "Dezimaltrennzechein (Währung): "  + LocaleString(#LOCALE_SMONDECIMALSEP)
Debug "Tausendertrennzeichen: "          + LocaleString(#LOCALE_STHOUSAND)
Debug "Tausendertrennzeichen (Währung):" + LocaleString(#LOCALE_SMONTHOUSANDSEP)
Debug "Negatives Vorzeichen: "           + LocaleString(#LOCALE_SNEGATIVESIGN)
Debug "Positives Vorzeichen: "           + LocaleString(#LOCALE_SPOSITIVESIGN)
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ich denke mal, Roherter will sehen, ob er damit Rechnen kann, sollte also
unnötig sein, weil mit Tausendertrenner wirds schwierig zu Rechnen
:mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Damit ihr seht wofür ich gebraucht habe,

http://www.leolasoft-herter.de/test.exe

einfach unter betrag einen wert eingeben mit komma oder ohne ist egeal.
Danach Return drücken. :D

Edit:
Hats mal jemand getestet?
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Antworten