On 01.02.10 15:50, Stefan Sicurella wrote:
Hi,

so hier der Code, ich habe die Werte, die ich normalerweise aus der Listbox 
nehme fest eingegeben....
  ...
und nu ;-)

Ist der Fehler klar.

Nimm mal folgenden Code in den Open-Event eines TextAreas (bzw. EditField in älteren RB Versionen):
  dim i1,i2,i3,br,rabatt as double
  rabatt=45 // Rabatt in %
  i1=16.500 // VK Brutto Betrag
  br=i1/100

  me.AppendText "br: " + str(br) + EndOfLine

  br=br*rabatt // in diesem Beispiel 45 % Rabatt

  me.AppendText "br * rabatt: " + str(br) + EndOfLine

  i1=i1-br // Ergibt 9,075 brutto VK
i2=i1/(1.1) // Gesamtnetto = Gesamtbrutto geteilt durch MwSt. in diesem Fall 10%
  i3=i1-i2

  me.AppendText "i1: " + str(i1) + EndOfLine
  me.AppendText "i2: " + str(i2) + EndOfLine
  me.AppendText "i3: " + str(i3) + EndOfLine
  me.AppendText "Format i3: " + format(i3,",###.00") + EndOfLine

  me.AppendText "i3-0.825: " + str(i3-0.825) + EndOfLine

  i3=0.825

  me.AppendText "i3: " + str(i3) + EndOfLine
  me.AppendText "Format i3: " + format(i3,",###.00") + EndOfLine

  me.AppendText "i3-0.825: " + str(i3-0.825) + EndOfLine

Als Ergebnis sieht man, dass das berechnete i3 eben nicht 8.25 sondern "8.25 + einen kleinen Wert" enthält. Wenn also mit Preisen gerechnet wird wäre es ggf. sinnvoll mit Integer-Werten (oder gar int64) in Cent zu rechnen.

Gruß,

Tom


Antwort per Email an