PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Delphi-Frage: Wie kann ich Runden?


nobody
10.04.2002, 18:01
Ich habe einen real-Wert mit einer ganzen Menge Nachkommastellen.
Wie kann ich die bis auf 2 Stellen nach dem Komma runden?
Wie in TP mit ':0:2' oder sowas, das funktioniert irgendwie nicht.

Vielen Dank für eine Antwort

Magge

ArneE
12.04.2002, 13:10
Hallo,

Originalnachricht erstellt von Magge
Ich habe einen real-Wert mit einer ganzen Menge Nachkommastellen.
Wie kann ich die bis auf 2 Stellen nach dem Komma runden?
Wie in TP mit ':0:2' oder sowas, das funktioniert irgendwie nicht.


Runden oder einfach nur noch zwei Nachkommastellen "kopieren"?

minutemen
12.04.2002, 13:31
multipliziere den wert mit 100, führe round aus und dividiere durch hundert. nicht die feine englische art, aber was solls.

warum rechnest du nicht mit den exakten werten weiter? wofür braucht man das?

ArneE
12.04.2002, 13:39
Hallo,

@mm: Delphi stellt Zahlen, die in den Typ String aus dem Real-Wert konvertiert wurden, ziemlich komisch da.

@Magge: Hier der Quellcode:


procedure TForm1.Button1Click(Sender: TObject);
var r: real;
s: string;
begin
r:= 1234.56789;
str(r:0:2,s);
ShowMessage(s);
end;

upsidedown
12.04.2002, 13:59
Originalnachricht erstellt von minutemen
multipliziere den wert mit 100, führe round aus und dividiere durch hundert.

Bettelt da einer um einen Overflow? ;)

Gruß,
UpsideDown

nobody
17.04.2002, 22:28
Nimm doch einfach die Funktion FormatFloat

Bsp:

S: String;
r: double;

s := formatfloat('#0.00', r);

Ergebnis ist dann z.B. 6,78