Seite 1 von 1

Math

Verfasst: 31.08.2006 15:42
von eiban
Wie kann ich mit PureBasic zwei Kommazahlen miteinander Multiplizieren (z.B. 6,25 x 4,25).
So geht’s auf alle Fälle nicht a = (6,25*4,25)

Denn ich will ein Rechenprogramm machen, das auf einen EURO-Betrag automatisch die Umsatzsteuer aufrechnet.

Code:

Openwindow…..

StringGadget(1,…..<----- Texteingabe Feld
StringGadget(2,…..<----- Textausgabe Feld
ButtonGadget(3,…..
….

Case 3

A = ValF(GetGadgetText(1))
B = (a*1,16) :<---------- Das meine Ich
C$ = Str(B)
SetGadgetTExt((2), C$)

Codeende:

Und was ist, wenn der Wert im Feld ID 1 auch eine Kommazahl ist?

Danke schon mal im voraus für alle Antworten!
Mit freundlichen Grüßen 8)
Eiban

Verfasst: 31.08.2006 15:44
von winduff

Code: Alles auswählen

Debug 155.7*2.8
Ganz einfach, statt , machst du .

Btw, zukünftig bitte alle codes in die Code Tags setzen

Verfasst: 31.08.2006 15:48
von ts-soft
Am einfachsten ist es mit Cent zu Rechnen. Vor der Anzeige wieder ein
Komma einfügen. Je nach Genauigkeit könnte man auch zehntel Cent
nehmen.

Verfasst: 31.08.2006 15:57
von Pelagio
:allright:
Als erstes muss du dafür sorgen, das das Komma als Punkt dargestellt wird:
Ergebnis.f = (6.25*4.25)

Hierbei kannst du entweder den Punkt im StringGadet eingeben oder im nachhinein ändern:
StringGadget1 = 6,25
StringGadget2 = 4,25

a.f = VALF(ReplaceString(Stringgadget1, "," , ".") )
b.f = VALF(ReplaceString(Stringgadget2, "," , ".") )
Ergebnis = a*b

Ich hoffe diese Information ist ausreichend.
Huch, es haben ja schon welche geantwortet!

Verfasst: 31.08.2006 16:04
von Thomas
Endlich kann ich auch einmal helfen...
aber wie ich sehe ist mir jemand zuvorgekommen.
Naja, ich machs immer so:

ErsteZahl.f = ValF(GetGadgetText(1)) ;also den Text von deinem Eingabefeld
ZweiteZahl.f = 1.16 ;deine Zahl mit der du multiplizieren willst
Ergebnis.f = ErsteZahl.f * ZweiteZahl.f
SetGadgetText(2, StrF(Ergebnis.f, 2)) ;die 2 für zwei Nachkommastellen

Anstelle des Kommas must du nur einen Punkt nehmen.