Delphi-PRAXiS

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

derbenna 27. Nov 2004 11:52


Problem mit floattostrf
 
Hallo
ich habe folgendes Problem:

Code:
edit1.text := floattostrf (a * b, ffnumber, 7, 3);
wenn z.B. a 2 ist und b 3 ist dann steht in edti1 nicht 6 sondern 6,000.

Wie kann ich Delphi die Anweisung geben die Nullen nicht zu schreiben?

Dax 27. Nov 2004 11:56

Re: Problem mit floattostrf
 
Du könntest statt ffNumber Delphi-Referenz durchsuchenffGeneral benutzen, oder 0 als Parameter für Digits einsetzen.

derbenna 27. Nov 2004 12:03

Re: Problem mit floattostrf
 
Wenn aber keine grade Zahl rauskommt sollen sie auf drei Stellen nach dem Komma angezeigt werden.

Dax 27. Nov 2004 12:06

Re: Problem mit floattostrf
 
:pale: Hab' mich verschrieben.. was du suchst ist ja ffGeneral, nicht ffFixed..

derbenna 27. Nov 2004 12:07

Re: Problem mit floattostrf
 
Ich meinte natürlich wenn keine ganze Zahl rauskommt.

Nothine 27. Nov 2004 13:10

Re: Problem mit floattostrf
 
du könntest Delphi-Referenz durchsuchenFormatFloat benutzen, und eine abfrage erstellen, ob es eine ganze zahl ist, z.B. so:
Delphi-Quellcode:
var A,B: Extended;
const Frmt: array[Boolean] of string[5] = ('#','#.000');

//  A := 3;
//  B := 5.3;
  Edit1.Text := FormatFloat( Frmt[Frac(A*B) <> 0] , A*B );

{bzw.}

if Frac(A*B) <> 0 then
  Edit1.Text := FormatFloat('#.000',A*B) //alle vorkomma-stellen, 3 nachkomma-stellen
else Edit1.Text := FormatFloat('#',A*B); //nur vorkomma-stellen


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