Hi, so hier der Code, ich habe die Werte, die ich normalerweise aus der Listbox nehme fest eingegeben....
dim i1,i2,i3,br,rabatt as double rabatt=45 // Rabatt in % i1=16.500 // VK Brutto Betrag br=i1/100 br=br*rabatt // in diesem Beispiel 45 % Rabatt i1=i1-br // Ergibt 9,075 brutto VK i2=i1/(1.1) // Gesamtnetto = Gesamtbrutto geteilt durch MwSt. in diesem Fall 10% i3=i1-i2 MsgBox str(i3)+" "+format(i3,",###.00")// ergibt 0.825 und 0,83 i3=0.825 MsgBox str(i3)+" "+format(i3,",###.00")// ergibt 0.825 und 0,82 und nu ;-) Gruß Stefan > Ohne Code weiss ich's auch nicht > > a. > > > On 01.02.10 14:52, "Stefan Sicurella" <sicure...@onlymac.de> wrote: > >> Ok, das ist sehr merkwürdig, aber ich weiß nicht, was ich da falsch machen >> könnte >> >> Gruß >> >> Stefan >> >>> >>>> aus 0.825 wird 0.82 mit deinem Code unten, >>> >>> Bei mir nicht: >>> MsgBox str(round_kaufman(0.825)) >>> >>> Ergebnis 0,83 >>> >>> >>> hast du auch 2009 R5.1? >>> >>> ja >>> >>> a. >>> >>> >>>> Stefan >>>> >>>>> Und was geht NICHT? >>>>> >>>>> Bei mir geht's auch so: >>>>> >>>>> dim d as Double >>>>> const factor=100.0 >>>>> d = myFloatValue*factor >>>>> return round(d)/factor >>>>> >>>>> a. >>>>> >>>>> >>>>> >>>>> On 01.02.10 14:29, "Stefan Sicurella" <sicure...@onlymac.de> wrote: >>>>> >>>>>> Hallo, >>>>>> >>>>>> den Wert errechne ich aus Brutto-Beträgen und der dazugehörigen MwSt. >>>>>> Er dürfte nicht relevant sein, ist er aber in RB 2009 R5.1 >>>>>> Meine Paniklösung, die auf jeden Fall funktioniert: >>>>>> >>>>>> Function round_kaufman(myFloatValue as double) As double >>>>>> dim d as Double >>>>>> dim sk as string >>>>>> const factor=100 >>>>>> d = myFloatValue*factor >>>>>> sk=format(d,",###.0") >>>>>> if right(sk,1)="5" then d=d+0.1 >>>>>> return round(d)/factor >>>>>> >>>>>> End Function >>>>>> >>>>>> Gruß >>>>>> >>>>>> Stefan >>>>>> >>>>>>> Am 01.02.10 14:03, schrieb Stefan Sicurella: >>>>>>>> Hi, >>>>>>>> >>>>>>>> 0.825 hatte ich auch, habs nur in der Mail von Hand falsch getippt... >>>>>>>> >>>>>>>> ja, wenn ich es so mache wie unten beschrieben geht es auch. >>>>>>>> Wenn ich allerdings a durch addieren mehrerer Werte auch errechne geht >>>>>>>> es >>>>>>>> wieder nicht. >>>>>>>> >>>>>>>> Nur wenn ich expliziert die Zahl hinschreibe geht es... das ist doch >>>>>>>> irre? >>>>>>>> ;-) >>>>>>>> >>>>>>> >>>>>>> Die Herkunft des Wertes von "a" dürfte generell nicht relevant sein. >>>>>>> Wenn >>>>>>> du >>>>>>> dir eine Funktion baust welche den gerundeten Wert zurückgibt, so müsste >>>>>>> das >>>>>>> Ergebnis immer identisch sein. >>>>>>> >>>>>>> Hast du mal Beispiel-Code woran man sehen kann wie die unterschiedlichen >>>>>>> Wrte >>>>>>> (z.B. beim Addieren etc.) zustande kommen? >>>>>>> >>>>>>> -- >>>>>>> Michael Kagerbauer >>>>>>> http://rbcoder.de >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >>> >> >> > > >