AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Berechnung Einzelposten (Unit-Price, Net-Price)

Ein Thema von Harry Stahl · begonnen am 28. Mär 2025 · letzter Beitrag vom 3. Apr 2025
Antwort Antwort
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#1

AW: Berechnung Einzelposten (Unit-Price, Net-Price)

  Alt 28. Mär 2025, 22:18
Auch

ShowMessage('Currency: ' + CurrToStr (RoundCurrency(NettoC, 2))); // Ausgabe: 8.40

wirft 8.40 aus.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
745 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Berechnung Einzelposten (Unit-Price, Net-Price)

  Alt 2. Apr 2025, 08:35
8.40 ist ja aber auch richtig. Nimm mal einen Taschenrechner und guck dir mal die Nachkommastellen an.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#3

AW: Berechnung Einzelposten (Unit-Price, Net-Price)

  Alt 2. Apr 2025, 18:14
Formatfloat rundet auf 2 Stellen.

Die Double-Variable hat den Wert "8,39495798319328" und wird dann auf 8,39 gerundet
Die Currency-Variable (die ja immer nur mit 4 stellen rechnet - d.h. bei jeder Rechenaktion wird das Ergebnis auf 4 Stellen gerundet) hat den Wert ("8,395") und wird dann eben auf 8,4 gerundet.

Mir geht es ja ein wenig um die Frage, ob es Sinn macht mit den genaueren Float-Werten zu rechnen und erst am Ende die Currency-Rundung zu verwenden, oder ob ich alles mit Currency rechne (aber dann eher mit Rundungsfehlern zu tun habe).

Wäre mal schön zu wissen, wie die Validatoren das rechnen.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
745 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Berechnung Einzelposten (Unit-Price, Net-Price)

  Alt 3. Apr 2025, 18:04
Wichtiger ist eher das man sich überlegt was man speichert. Also was hat mehr Bedeutung.
Im Handel sollte das Netto sein. Also alle internen Berechnungen für Menge, Rabat, etc. laufen mit dem Nettowert. Am Ende die Bruttobeträge ausrechnen und alles zusammen addieren und danach Runden.
Listet man dann die Nettobeträge und die Steuern einzeln auf kann es durch die einzelnen Rundungen der Sätze zu Fehlern kommen.
Das ist aber faktisch nur ein Darstellungsfehler. Entweder einen Rundungsposten mit anegeben oder den Rundungsfehler auf den größten Betrag addieren.

Wir haben es mit großen Beträgen zu tuen, also theoretisch auch großen Fehlbeträgen.
Ich wüsste nicht das wir in den vielen Jahren irgend einen Kunden gehabt hätten der sich über einen Fehlbetrag beklagt hätte.
Ich kann mich auch nur an ein oder zwei Fälle pro Jahr (im Fibu Export) erinnern in denen es mal 1 "Cent" Abweichung gegeben hat.
Es funktioniert also mit Money/Currency und konsequentem Netto.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz