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.