Thema: [Firebird]

Einzelnen Beitrag anzeigen

Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#1

[Firebird]

  Alt 18. Mai 2014, 17:53
Datenbank: Firebird • Version: 2.52 • Zugriff über: UniDAC
Hallo zusammen,

haben gerade mal einen Fehler in einer Berechung von Daten in der datenbank gesucht und sind auf ein recht seltsames Verhalten gestossen :

Ich schreiben in Tabelle 1 den Wert 422,24 rein. Das Feld ist als Numeric(15,5) gekennzeichnet (brauche 5 Nachkommastellen).
Eine Stored Procedure kopiert den wert dann (über eine Variable die ebenfalls als Numeric (15,5) angelegt ist in einer 2. Tabelle, wo das Feld Feld auch als Numeric(15,5) angelegt ist. Kein Trigger verändert den Wert, aber er kommt als 422,23999 dort an und wird von dort auch mit diesem Wert weiter verarbeitet

Das verursacht Probleme in der Berechnung später, wenn ich zum Beispiel einen Durchschnittspreis berechne und ich 422,24 Einheiten wegnehme, dann habe ich Werte wie -0,0099976 und dann dann dividiert durch einen Wert ergibt ziemlich doofe Zahlen :0

Idee, woran sowas liegt ? Ist es ein generelles Firebird Problem ?

Danke schonmal,
Helge
  Mit Zitat antworten Zitat