Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Anzahl der dezimalstellen festlegen


DarkHunter - Mi 11.08.04 16:14
Titel: Anzahl der dezimalstellen festlegen
hallo
ist est irgendwie möglich die anzahl der angezeigten dezimalstellen festzulegen
variablentyp ist real.


Keldorn - Mi 11.08.04 16:17

Hallo

gugg dir funktionen wie z.b. format oder floattostrf an.

Mfg Frank


maxk - Mi 11.08.04 16:20

FormatFloat('0.00',AReal)Ist so ziemlich das einfachste - finde ich jedenfalls :wink:


DarkHunter - Mi 11.08.04 16:30

wäre es auch möglich die nachkommastellen in der variable zu entfernen?


maxk - Mi 11.08.04 16:33

Jein, du kannst nach der Umwandlung in einen String ja wieder ein Real draus machen (StrToFloat), allerdings finde ich das sehr unsauber. Es geht bestimmt noch einfacher :?


raziel - Mi 11.08.04 16:41

Da hier:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
function TruncVar(variable: extended; stellen: Integer): Extended;
var tmp: extended;
begin
  tmp := power(10, stellen);
  variable := variable * tmp;
  stellen := Trunc(variable);
  result := stellen / tmp;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(FloatToStr(TruncVar(3.141592653)));
end;

Math einbinden nicht vergessen!

raziel


Keldorn - Mi 11.08.04 17:00

anstelle des codes kannst du auch roundto verwednen, der ähnlich vorgeht.
Anstelle von raziel würde ich aber auch nicht trunc nehmen, sondern round. bei seiner Varinate käme 3,141 raus, wenn du auf die 3. Nachkommastelle rundest wäre es 3,142.

Mfg Frank


raziel - Mi 11.08.04 17:18
Titel: Re: Anzahl der dezimalstellen festlegen
DarkHunter hat folgendes geschrieben:
ist est irgendwie möglich die anzahl der angezeigten dezimalstellen festzulegen

Von Runden war nie die Rede :mrgreen: ;)