![]() |
wie auf x nachkommastellen runden ?
Hallo zusammen,
ich habe einen Wert den ich in einen String konvertiere: currtostr(preis); wie kann ich die Nachkommastellen im String begrenzen? Standardmässig hab ich 14 Nachkommastellen :-( Danke Gruss KH |
Re: wie auf x nachkommastellen runden ?
Hallo,
schau Dir in der Delphi Hilfe mal die format Funktion an. [edit] allerdings rundet format nicht sonder schneidet ab [/edit] Grüße Klaus |
Re: wie auf x nachkommastellen runden ?
"FloatToStrF" ist dein Freund! ;)
|
Re: wie auf x nachkommastellen runden ?
Also wenn der Datentyp von Typ Currency ist, sollte die Funktion currtostr auch auf zwei Stellen nach dem Komma runden. Ansonsten gibt es da noch
![]() ![]() |
Re: wie auf x nachkommastellen runden ?
In der Unit Math gibt es (zumindest in Delphi2009) die Funktion
Delphi-Quellcode:
function RoundTo(const AValue: Extended;
const ADigit: TRoundToEXRangeExtended): Extended; Ich glaube diese Funktion macht exakt das was Du suchst. |
Re: wie auf x nachkommastellen runden ?
Zitat:
alternativ könnte man vieleicht das editfeld formatieren, falls das irgendwie geht ohne gleich Tmaskedit zu verwenden. Gruss KH |
Re: wie auf x nachkommastellen runden ?
Zitat:
Delphi-Quellcode:
für 4 Nachkommastellen wäre es 10000, also 4 Nullen usw.
MitZweiNachkommastellen := Round(R * 100) / 100;
und über 'nen Logarithmus kann man sich das ganze auch noch aufbauen
Delphi-Quellcode:
aber in diesem Fall reicht ihm wohl eine der oben schon genannten StringFunktionen :angel2:
gerundet := Round(R * IntPower(10, Nachkommastellen)) / IntPower(10, Nachkommastellen);
// bzw. temp := IntPower(10, Nachkommastellen); gerundet := Round(R * temp) / temp; |
Re: wie auf x nachkommastellen runden ?
runden auf 2 Stellen nach dem Komma:
Delphi-Quellcode:
runden auf n Stellen nach dem Komma:
x:=round(x*100)/100;
Delphi-Quellcode:
(x sollte vom Typ float o.Ä. sein und nicht integer)
x:=round(x*(10^n))/(10^n);
mfg Edit: Ups himitsu war schneller. (nur das mit dem Log10 versteh ich nicht, hab auch gerade kein Delphi installiert) |
Re: wie auf x nachkommastellen runden ?
Zitat:
ich danke euch gruss KH |
Re: wie auf x nachkommastellen runden ?
:oops: Log10 war ja das Gegenteil von 10^n ... ach mist
[add] IntPower bzw. Power wär das Richtige gewesen siehe ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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