Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi FloatToStr vs. Format (https://www.delphipraxis.net/142399-floattostr-vs-format.html)

Insider2004 27. Okt 2009 15:10


FloatToStr vs. Format
 
Hallo,

ich weiss nicht, wie ich das Äquivalent zu FloatToStr mit Format mache?
Was muss ich da schreiben, wo .15 steht?


Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  s: string;
  e:extended;
begin

  e := 1/3;
  e := 0;

  s := FloatToStr(e); //Ausgabe: "0"
//  s := Format('%.15f', [e]); //bringt eine andere
                               //Ausgabe wie FloatToStr: "0,000000000000000"

  writeln(s);
  readln;
end.
[edit=mkinzler]Delphi-Tag eingefuegt Mfg, mkinzler[/edit]

DeddyH 27. Okt 2009 15:15

Re: FloatToStr vs. Format
 
%.0f, wenn Du keine Nachkommastellen anzeigen willst.

turboPASCAL 27. Okt 2009 15:19

Re: FloatToStr vs. Format
 
Ich glaube er möchte eine Ausgabe in From von "0" an Stelle von "0,0" wenn der Wert Null ist. ;)
Ich wüsste nicht wie das ohne Umwege zu erreichen ist.

DeddyH 27. Okt 2009 15:29

Re: FloatToStr vs. Format
 
Außer mit math.IsZero direkt auf 0 zu prüfen und ggf. '0' auszugeben weiß ich da auch nix.

Insider2004 27. Okt 2009 15:39

Re: FloatToStr vs. Format
 
Ich möchte

0 --> 0
1/3 --> 0.333333333333333

Eigentlich könnte ich FloatToStr nehmen, nur ich habe
da so einen Rattenschwanz mit zig Werten:

s := Format('bla %f bla bla %.15f %f %f bla bla %f ......... ', [e, .......]);

Hawkeye219 27. Okt 2009 15:57

Re: FloatToStr vs. Format
 
Hallo,

versuche es einmal mit "%g" als Formatstring.

Gruß Hawkeye

thkerkmann 27. Okt 2009 15:57

Re: FloatToStr vs. Format
 
Hi,

mit Format alleine gehts nicht. FloatToStr macht schon ne Menge, um herauszufinden, welches das optimale Format für die Zahl ist, die Du ihm gibst.

Gruss

Insider2004 27. Okt 2009 16:01

Re: FloatToStr vs. Format
 
Zitat:

Zitat von Hawkeye219
Hallo,

versuche es einmal mit "%g" als Formatstring.

Gruß Hawkeye


Super! %g funkt!

Ihr seid super! :cheers:

himitsu 27. Okt 2009 16:03

Re: FloatToStr vs. Format
 
Und bei 123,456000000 möchte er bestimmt auch nur die 123,456 haben ... nee, direkt mit Format fällt mir da jetzt auch nichts ein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 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