[Erledigt] Formatfunktion fehlerhaft?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1851
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

[Erledigt] Formatfunktion fehlerhaft?

Beitrag von fliegermichl »

Ich bekomme bei einer Umwandlung von Doubles nach String mit der Anweisung s := Format('%.3f', [Wert]); manchmal komische Ergebnisse.

Beispiel: Wert ist 1,1945305291614955E103, dann steht in s: '11945305291614955126500000000000000000000000000000000000000000000000000000000000000000000000000000000000,000'.

Sollte %.3f nicht heißen: "Runde mir den Wert auf 3 Nachkommastellen"?

Delphi 5 aus dem letzten Jahrtausend macht das so, wie ich es erwarte.

Edit: Hat sich im Prinzip erledigt. Wert ist nicht initialisiert worden und es stand ein sehr großer "Müllwert" drin.

wp_xyz
Beiträge: 5507
Registriert: Fr 8. Apr 2011, 09:01

Re: [Erledigt] Formatfunktion fehlerhaft?

Beitrag von wp_xyz »

Einmal von dem abgesehen was unter [Edit] steht: Was wäre denn an der Ausgabe falsch? Dass sie so lang ist? Du wandelst eine Zahl 1.(irgendwas)E103 in einen String um, das ergibt eine 1 mit 103 Stellen vor dem Komma. Hab's nicht nachgezählt, aber das könnte stimmen.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1851
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: [Erledigt] Formatfunktion fehlerhaft?

Beitrag von fliegermichl »

Von dem her hatte ich ja geschrieben, daß es kein Fehler der Formatfunktion ist. Ich arbeite aktuell mit der Debugversion und habe da auch "Trash Variables" aktiv.
Ohne das wäre mir vermutlich gar nicht aufgefallen, daß die Variable nicht initialisiert war.

Antworten