Skip to content
This repository has been archived by the owner on Mar 1, 2022. It is now read-only.

Rundungsfehler #1

Open
ghost opened this issue Jan 7, 2018 · 1 comment
Open

Rundungsfehler #1

ghost opened this issue Jan 7, 2018 · 1 comment

Comments

@ghost
Copy link

ghost commented Jan 7, 2018

Servus,

ich glaube da ist ein kleiner Rundungsfehler. Folgendes Beispiel

Beschreibung Wert
Bruttopreis 0,99 €
Steuern (19%) 0,16 €
Netto 0,83 €

Bei dem Generator habe ich dann folgende Daten gepflegt:

positions:
    - netto_price: 0.83 
      amount: 10
      text: |
        Server Rechenzentrum
        Windows Server

Wo ja dann ein Gesamtwert von 9,90 € raus kommen müsste.
Es kommt aber folgendes bei rum:
pic

Es fehlen also irgendwo 2 Cent.

@nikeee
Copy link

nikeee commented May 6, 2019

Sollte das so sein? Wenn ich nachrechne:

> 10 * 0.83 * 1.19
9.876999999999999

Es sieht für mich aus, als sei der Netto-Preis nicht korrekt. Wenn man den manuell ausrechnet:

> 0.99 / 1.19
0.8319327731092437

...kommt da etwas anderes bei raus. Rechnet man mit dem weiter, dann passt es:

> 10 * 0.8319327731092437 * 1.19
9.9

Wenn ich das richtig verstehe, wäre es dann wohl besser, wenn man entwder brutto oder netto angibt.

Wenn man in Python mit einem Decimal-Context rechnet, scheint es korrekt gerundet zu werden (wenn man die Präzision runterschraubt):

>>> from decimal import *
>>> Decimal(10) * Decimal(0.83) * Decimal(1.19)
Decimal('9.876999999999999082067603240')
>>> getcontext().prec = 2
>>> Decimal(10) * Decimal(0.83) * Decimal(1.19)
Decimal('9.9')
>>>

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant