Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - StrToFloat liefert mal richtigen Wert und mal nicht


zeg - Do 25.01.18 15:31
Titel: StrToFloat liefert mal richtigen Wert und mal nicht
Hallo

Habe einen String Wert '0,00005'. Den wandle ich in einen Double Wert um und bekomme 5e-05 als Ergebnis.
Wenn ich z.B. den Wert '0,00112' mit gleichen Code umwandle erhalte ich die erwarteten 0,00112 im Double Wert.

Warum? Fließkommarechenfehler?


Habe zwei Screenshots angehängt. Verwende Delphi 10.1.

Danke für Rückantwort.


Delete - Do 25.01.18 16:35

- Nachträglich durch die Entwickler-Ecke gelöscht -


Delphi-Laie - Do 25.01.18 23:23

user profile iconzeg hat folgendes geschrieben Zum zitierten Posting springen:
die erwarteten


versus

user profile iconzeg hat folgendes geschrieben Zum zitierten Posting springen:
Fließkommarechenfehler?


Wie kann man einen Fehler vermuten, wenn sich etwas so, wie erwartet, verhält?


Symbroson - Fr 26.01.18 07:55

Zitat:
Wie kann man einen Fehler vermuten, wenn sich etwas so, wie erwartet, verhält?

Vielleicht war er einfach noch nicht mit der Exponentialschreibweise vertraut gewesen?


zeg - Fr 26.01.18 08:34

Hallo

Vielen Dank für die Rückantworten.

Meine Frage ist: Warum wird eine Zahl in Exponentialschreibweise umgewandelt und die andere nicht wenn ich mit beiden gleiches tue?
Das ist was mich etwas erstaunt. Ich hätte zwei Exponentialzahlen erwartet oder zwei Fließkommazahlen.

schöne Grüße


Delete - Fr 26.01.18 09:11

- Nachträglich durch die Entwickler-Ecke gelöscht -


zeg - Fr 26.01.18 12:17

Hallo

Vielen Dank Frühlingsrolle. Genau diese Information wollte ich haben. Wusste aber nicht woher ich sie bekommen kann.

Besten Dank und schönes Wochenende aus dem trüben Wien.


Symbroson - Fr 26.01.18 22:17

Zitat:
Wusste aber nicht woher ich sie bekommen kann
einfach ausprobieren, ab wann er die e-schreibweise verwendet ;)

wenn man genug Werte hat fällt einem früher oder später ein Muster auf - in diesem Falle ist es sogar sehr einfach


mandras - Sa 27.01.18 01:56

Hier ein Hinweis auf das Warum

https://stackoverflow.com/questions/11665298/delphi-floattostr-why-is-the-display-different

und auch darauf daß die Funktionen sich selber nicht immer treu sind