Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   FloatToStrF (https://www.delphipraxis.net/162193-floattostrf.html)

Laufente 11. Aug 2011 14:00

Delphi-Version: 5

FloatToStrF
 
Hallo, ich finde keine Delphi-funktion, die mehr als 18 Stellen (also ohne "E") hinter dem Komma anzeigen kann, wie z.B. 0.000000000000000000000000001234
Das sollte doch mathematisch gehen, immerhin hat die zahl nur 4 significant Digits. FloatToStrF() schafft offenbar maximal 18. Weiss jemand mehr?

Danke

Angel4585 11. Aug 2011 14:21

AW: FloatToStrF
 
weis nicht, aber probiert doch mal
Delphi-Quellcode:
Format('%.18f',deinefloat);

himitsu 11. Aug 2011 14:27

AW: FloatToStrF
 
Es geht nicht mehr.

Die Anzeige (bei FloatToStr, Format und Co.) wird über einen Int64 berechnet und da passen nunmal nur bis zu 18 Dezimalstellen rein.
(teilweise auch 19, solange die höchste Dezimalzahl <= 2 ist).

Zitat:

Zitat von Laufente (Beitrag 1116262)
immerhin hat die zahl nur 4 significant Digits

Das schon, aber hier zählen die "sichtbaren" Dezimalstellen.

PS: es sind zwar 4 signifikante Dezimalstellen,
aber intern wird binär gerechnet und da sieht es ein klein bissl anders aus.



Fazit: selber berechnen/ausgeben


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz