Seite 1 von 1

Val(GetGadgetText(#Einsatz)) liefert 0

Verfasst: 08.02.2010 18:08
von Delle
Hallo,

ich versuche eine Division von 2 Gadget-Werten:

anzahl=Val(GetGadgetText(#Einsatz))/Val(GetGadgetText(#Einkauf))

#Einkauf ist meistens 0,10 oder 0,20... also kein Integer.

Debug Val(GetGadgetText(#Einkauf)) liefert mit immer 0 zurück, sprich die Division geht deswegen schief ;)

Wie kann ich mir einen Komma-Wert zurückgegeben lassen?

Danke,
Delle

Re: Val(GetGadgetText(#Einsatz)) liefert 0

Verfasst: 08.02.2010 18:12
von Little John
Delle hat geschrieben:Wie kann ich mir einen Komma-Wert zurückgegeben lassen?
ValF() oder ValD()

Gruß, Little John

Re: Val(GetGadgetText(#Einsatz)) liefert 0

Verfasst: 08.02.2010 18:16
von ThoPie
Hallo,
versuche es mit ValF(ReplaceString(GetGadgetText(#Einsatz),",","."))
Es muss noch das "," durch einen "." ersetzt werden.

ThoPie

Re: Val(GetGadgetText(#Einsatz)) liefert 0

Verfasst: 08.02.2010 18:19
von Kiffi
ThoPie hat geschrieben:Es muss noch das "," durch einen "." ersetzt werden.
nicht generell. Man muss dabei die Ländereinstellungen berücksichtigen.

Grüße ... Kiffi

Re: Val(GetGadgetText(#Einsatz)) liefert 0

Verfasst: 08.02.2010 18:24
von Delle
Hm, wie kann es sein, dass hier 0 zurückgeliefert wird?

StringGadget(#Einkauf, 130, 30, 60, 20, "0.05")
Debug einkauf=ValF(GetGadgetText(#Einkauf))

Re: Val(GetGadgetText(#Einsatz)) liefert 0

Verfasst: 08.02.2010 18:33
von Kaeru Gaman
wie kann es sein, dass hier 0 zurückgeliefert wird?
... nunja, falls kein Error kommt, dann wird sozusagen der "Wert" der Prüfung
If einkauf = ValF(GetGadgetText(#Einkauf))
debuggt

gehe ich recht in der Annahme, dass du eigentlich das hier meinst:

Code: Alles auswählen

StringGadget(#Einkauf, 130, 30, 60, 20, "0.05")
einkauf = ValF(GetGadgetText(#Einkauf))
Debug einkauf

Re: Val(GetGadgetText(#Einsatz)) liefert 0

Verfasst: 10.02.2010 05:44
von Bisonte

Code: Alles auswählen

StringGadget(#Einkauf, 130, 30, 60, 20, "0.05")
einkauf = ValF(GetGadgetText(#Einkauf))
Debug einkauf
Mal so nebenbei... Muss nicht die Variable einkauf als Float deklariert werden, damit ValF auch Sinn macht und die Nachkommastellen angezeigt werden (bzw. damit man damit auch weiter rechnen kann) ?

ich meine dies ...

Code: Alles auswählen

StringGadget(#Einkauf, 130, 30, 60, 20, "0.05")
einkauf.f = ValF(GetGadgetText(#Einkauf))
Debug einkauf

Currency

Verfasst: 10.02.2010 10:33
von Kaeru Gaman
yup, danke für den Hinweis.

@Delle
noch was:
für Currency-Werte solltest du nicht Float oder Double verwenden, sondern Fixkomma.
also Ganzzahl (Quad) verwenden und in 1/10 Cent rechnen, nur bei der Anzeige ein Komma einfügen.