Seite 2 von 2

Verfasst: 20.09.2006 14:11
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:

Verfasst: 20.09.2006 14:13
von Kiffi
> Trenner werde ich aber nicht einbauen :lol:

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

Grüße ... Kiffi

Verfasst: 20.09.2006 14:16
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:

Verfasst: 20.09.2006 15:04
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

Verfasst: 20.09.2006 15:35
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:

Verfasst: 20.09.2006 17:48
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?