Einzelnen Beitrag anzeigen

Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#1

Rundung bei Verwendung von DisplayFormat

  Alt 3. Aug 2015, 15:15
Halli Hallo,

Wir lassen verschiedene Werte die aus einer Datenbank gelesen werden in einem Report anzeigen. Diese Werte sollen mit 2 Nachkommastellen angezeigt werden. Das ist über "DisplayFormat" festgelegt.

Wir habe nun das Problem, dass diese Anzeige scheinbar nicht korrekt arbeitet. Um das zu prüfen habe ich die Daten im Report durch eine einzelne Reportvariable ersetzt der ich einen festen Wert zugewiesen habe: z.B. 0.375000000000.

Dieser Testwert wird mit dem zweistelligen DisplayFormat als "0,37" angezeigt. Meiner Meinung nach müsste dies aber "0,38" sein, oder liege ich da falsch?

Was noch dazu kommt: Auf einem System das zum Test benutzt wird ist ein Windows 2003 Server installiert und dort wird "0,38" als Ergebnis erzeugt. Auf anderen Systemen (Win7, Win2008 Server) ist der angezeigte Wert immer "0,37"

Ich habe den gesamten Code kontrolliert ob da irgendwo an den FPU-Einstellungen etwas geändert wird (SetRoundMode oder Set8087CW usw.), was aber nicht der Fall ist.

Kann jemand erklären, warum die Anzeige mit "DisplayFormat" nicht korrekt ist und warum sie sich von System zu System unterscheiden kann?

Danke schon mal für Tipps oder Hinweise,
Ralf
Ralf Kaiser

Geändert von Ralf Kaiser ( 3. Aug 2015 um 17:17 Uhr)
  Mit Zitat antworten Zitat