AGB  ·  Datenschutz  ·  Impressum  







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

Currency oder Double

Ein Thema von bernau · begonnen am 19. Mär 2015 · letzter Beitrag vom 20. Mär 2015
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.307 Beiträge
 
Delphi 12 Athens
 
#1

AW: Currency oder Double

  Alt 19. Mär 2015, 09:22
Das Problem sind die Rundungsprobleme, wie du in dem anderen Thread grade gut nachlesen kannst.
Der Thread war ja auch Grund für diesen Thread.

Aber ich hatte noch nie wirklich Rundungsprobleme. Rundungsprobleme bei Double habe ich doch nur, wenn ich mehr als die 15 Siginifikanten stellen verwende. Also im Milliarden-Bereich. Arbeite ich mit Zahlen im Millionen-gereich, dann entsteht der Rundungsfehler doch erst ab der 4 Stelle hinter dem Komma. Der ist doch vernachlässigbar.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Currency oder Double

  Alt 19. Mär 2015, 09:30
Hi,

ich hatte mal einen Rundungsfehler mit real und double, bin dann extended gegangen. Heute weiß ich auch das es currency gibt, meine Finger tippen aber ständig double...
Philip
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#3

AW: Currency oder Double

  Alt 19. Mär 2015, 09:52
meine Finger tippen aber ständig double...
type Double = Currency; ganz oben in deine Units.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Currency oder Double

  Alt 19. Mär 2015, 09:57
meine Finger tippen aber ständig double...
type Double = Currency; ganz oben in deine Units.
Philip
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Currency oder Double

  Alt 19. Mär 2015, 09:53
Ich verwende double und zur Anzeige Round(Value * 100) / 100. Dabei muß man sicherstellen daß 100 * Value im int64 Bereich liegt.
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Currency oder Double

  Alt 19. Mär 2015, 09:56
Ich verwende double und zur Anzeige Round(Value * 100) / 100. Dabei muß man sicherstellen daß 100 * Value im int64 Bereich liegt.
Ich verwende anstatt round
Delphi-Quellcode:
function RoundX(const Value:Extended; const nk:Integer):Extended;
var
   multi: Extended;
begin
   multi := IntPower(10, nk);
   Result := RoundUp(Value*multi) / multi;
end;
Philip
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#7

AW: Currency oder Double

  Alt 19. Mär 2015, 11:00
Abrechnung in der Datenbank mit Numeric() also Festkomma, deshalb keine Probleme in dieser Beziehung.
Im Programm selbst wird Double verwendet, aber dort wird eigentlich nur addiert oder mit Ganzzahl multipliziert.
Die Ausgabe wird natürlich gerundet. Probleme sind nicht bekannt.

Das einzig bekannte Rundungsproblem hat nur indirekt mit dem Datentyp zu tun.
Wir erstellen in der Regel Ausgangsrechnungen abei denen die Einzelpositionen Brutto ausgewiesen werden.
Die Mehrwertsteuer wird auf den Gesamtbetrag je Mehrwertsteuersatz berechnet.

Brutto MwSt. Steuer Netto
10,00 19% 1,60 8,40

Da sich dieser Betrag aber aus unterschiedlichen Leistungen zusammensetzt,
sollen die Teilbeträge in die Buchhaltung getrennt für verschieden Erlöskonten übergeben werden.

Brutto MwSt. Steuer Netto
06,60 19% 1,05 5,55 Erlöskonto1
03,40 19% 0,54 2,86 Erlöskonto2

Es gibt verschiedene Möglichkeiten das Problem zu umgehen (separate Steuerbuchung, Zwischenkonto), damit zumindest die Steuersumme stimmt.
Diese sind nicht bei jeder Buchhaltungssoftware auf die gleich Weise anwendbar.
Das Problem verschiebt sich dadurch nur, von welchem Erlöskonto zieht man jetzt den Steuer-Cent ab?
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: Currency oder Double

  Alt 19. Mär 2015, 11:13
Das Problem verschiebt sich dadurch nur, von welchem Erlöskonto zieht man jetzt den Steuer-Cent ab?
Lösbar ist das Problem ja nicht. Also schlucke ich die kleinste Kröte und nehme immer das (Erlös-)Konto mit dem höchsten Betrag, weil dadurch die Fibu insgesamt am wenigsten verfälscht wird. Der Anwender kann noch einstellen, ob und wie er informiert werden möchte. Im Logfile steht es aber generell.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Currency oder Double

  Alt 19. Mär 2015, 12:52
!currency!
Ohne Currency gab es im Zusammenspiel von DB, Frontend und erstellten Briefen (Word mit ein paar Macros) immer wieder Abweichungen im Cent-Bereich, die nervig bis peinlich waren.
Jetzt herrscht Ruhe!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#10

AW: Currency oder Double

  Alt 19. Mär 2015, 13:26
Da viele Textausgabefunktionen (Float->String) eher abrunden/abschneiden, müsste man beim Double entweder "runden" oder vor Anzeige 'nen 1/100stel oder 1/1000stel traufrechnen, damit meistens richtig "abgerundet" wird.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:46 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