Moin !
Ich habe hier ein merkwürdiges Problem und keine Erklärung ...
Gegeben sei dieser Code:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var inp : String;
t1, t2 : Double;
begin
inp := InputBox('Eingabe', '', '39900,4153345602');
t1 := StrToFloat(inp);
T2 := T1 * 2;
ShowMessage(FloatToStr(t2));
end;
Nix besonderes. So wenn ich durchsteppe dann ist in INP z.B. der String '39900,4153345602' abgelegt.
In T1 zeigt mir der Debugger aber dann 39900,415335. (also abgerundet)
Für T2 habe ich bei den lokalen Variablen den Wert 79800,830669.
Das zeigt mir der Compiler auch wenn ich mit der Maus über die Variable fahre.
ShowMessage zeigt mir aber dann hinterher wieder 79800,8306691204.
Ist das nur eine Einschränkung vom Debugger / der
IDE?
Hintergrund : Ich muss mit Datumswerten rechnen. Nun stellt sich mir aber die Frage ob der Compiler da die Werte nach StrToFloat abrundet (und somit mein Ergebnis falsch wird), oder ob das nur die Anzeige im Debugger betrifft.