![]() |
RoundX erhalte immer nur eine Nachkommastelle
Ich möchte mit folgendem Code zwei Nackommastellen erhalten, klappt aber nicht erhlate immer nur eine. Seht ihr einen Fehler?
Gruss vom Capo
Delphi-Quellcode:
function RoundUp(X: Extended): Extended;
begin Result := Trunc(X) + Trunc(Frac(X) * 2); end; function RoundX(const Value: Extended; const nk: Integer): Extended; var multi: Extended; begin multi := IntPower(10, nk); Result := RoundUp(Value * multi) / multi; end;
Delphi-Quellcode:
...
Summeausgabe := (floattostr(RoundX(Summe, 2))); ... |
Re: RoundX erhalte immer nur eine Nachkommastelle
wie wäre es mit der RoundTo-Funktion aus der Unit Math?
Delphi-Quellcode:
aber bei mir klappt dein code, nur da durch intpower ja so oder so die unit math einbinden musst.
RoundTo(Summe,-2);
kA welchen wert bei dir summe hat, vllt kommt dann sowas wie 4,10 raus und er schreibt 4,1 aber kA |
Re: RoundX erhalte immer nur eine Nachkommastelle
Hallo,
danke aber anstatt 634,50 wird damit auch 634,5 angezeigt.
Delphi-Quellcode:
showmessage(floattostr(RoundTo(634.50 ,-2)))
|
Re: RoundX erhalte immer nur eine Nachkommastelle
Wenn du einen so formatierten String haben willst, dann musst du Format benutzen. RoundTo usw. nimmt zwar die Nachkommastellen weg, aber das hat ja keinen Einfluss auf die folgende Umwandlung in einen String furch FloatToStr.
|
Re: RoundX erhalte immer nur eine Nachkommastelle
Ahhhh, mit Format habe ich noch nie was gemacht.
Habe da gerade etwas gefunden. Wie müßte ich das anpassen?
Delphi-Quellcode:
Format('%6.0n', [wert]);
|
Re: RoundX erhalte immer nur eine Nachkommastelle
habs...
Delphi-Quellcode:
Klappt aber in meinem Fall nicht:
showmessage(Format('%s', ['634.50']));
Summeausgabe :=(Format('%s', [Summe])); Zitat:
Delphi-Quellcode:
Summeausgabe :=(Format('%f', [Summezahl]));
|
Re: RoundX erhalte immer nur eine Nachkommastelle
Wie wäre es mit %0.2f für 2 Nachkommastellen. Mehr zu den Formaten findest du ausführlich in der Hilfe.
// EDIT: %s ist ein Platzhalter für einen String und nicht eine Zahl. Aber auch das steht in der Hilfe... |
Re: RoundX erhalte immer nur eine Nachkommastelle
Danke habe es auch gerade gesehen :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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 by Thomas Breitkreuz