![]() |
Problem mit StrToFloatF
Ich versuche vergeblich einen Real-Wert so zu formatieren das er keine Nachkommastellen mehr hat.
Delphi-Quellcode:
So : Dabei passiert rein gar nichts ! Im Formular hat Label7 immer noch den gleichen Wert.
if Sprite is TStrom then begin
Leben := StrToFloat(Form1.Label7.Caption); Leben := Leben - 0.2; Form1.Label7.Caption := FloatToStrF(Leben,ffFixed,3,0); end;
Delphi-Quellcode:
So funktioniert es, aber es ist eben noch eine Stelle nach dem Komma da ...
if Sprite is TStrom then begin
Leben := StrToFloat(Form1.Label7.Caption); Leben := Leben - 0.2; Form1.Label7.Caption := FloatToStrF(Leben,ffFixed,3,1); end; Das seltsame ist :
Delphi-Quellcode:
So funktioniert es super. Hier ist das Problem aber das ich in 0.2er Schritten abziehen will ...
if Sprite is TStrom then begin
Leben := StrToFloat(Form1.Label7.Caption); Leben := Leben - 0.6; Form1.Label7.Caption := FloatToStrF(Leben,ffFixed,3,0); end; Sobald ich bei
Delphi-Quellcode:
weniger als 0.6 abziehe funktioniert es nicht ...
Leben := Leben - 0.6;
|
Re: Problem mit StrToFloatF
hi,
um die Nachkomma stelle weg zu bekommen kannst du auch mit runden viel erreichen. Bsp. du hast eine zahl in einer variablen z.b. variable a und wert 10,1 also a:=10,1 dann a:=round(a/100*100) |
Re: Problem mit StrToFloatF
Mh.. ich weis nicht ob das was bringt ... Das soll ja die Lebensenergieanzeige von einem (einfachen) Spiel sein und die wird immer wenn man gegen TStrom läuft um 0.2 verringert.
Der Wert verändert sich also immer. |
Re: Problem mit StrToFloatF
So wie ich das sehe wird das Leben ja nur um die Nachkommastelle verändert. Wenn du diese nicht anzeigst wird auch nichts verändert. Du müsstest also 5 mal draufdrücken, damit 1 Leben abgezogen wird und und es angezeigt wird. Wenn du 0.6 abzeihst rundet der Rechner automatisch ab und es wird 1 abgezogen! Bei 0.2 wird aufgerundet und es passsiert nichts! :wink:
|
Re: Problem mit StrToFloatF
Habe ich jetzt nur die Hälfte verstanden? Oder warum nimmst du nicht einfach
Delphi-Quellcode:
Form1.Label7.Caption := IntToStr(Trunc(Leben));
|
Re: Problem mit StrToFloatF
Oh, danke ... es funktioniert. Hatte ich ganz vergessen ... :gruebel: :wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz