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.
[Erledigt] Formatfunktion fehlerhaft?
- 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?
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.
- 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?
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.
Ohne das wäre mir vermutlich gar nicht aufgefallen, daß die Variable nicht initialisiert war.