Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Turbo Pascal - real runden auf 2 Kommastellen

Dau (Anonym) / 3 Antworten / Flachansicht Nickles

Hallo zusammen,
bei Berechnungen sollen die Werte nach der zweiten Kommastelle (DM-Beträge) abgeschnitten werden.
Für die Ausgabe kein Problem mit write (wert:5:2), aber das Programm rechnet ja mit z.B. 10.3456789 weiter und am Schluss habe ich bei den Pfennigbeträgen öfters Abweichungen um 1 Pfennig.
Ich habe probiert, die Werte zu zerlegen mit trunc/frac und den frac-wert zu konvertieren mit str (frac(wert):0:2, string_dummy), dann passt das auch, aber wenn ich dann mit val (string_dummy, wert) ihn wieder zurück in eine real verwandle, habe ich wieder alle Nachkommastellen da...
Bitte, bitte, ich bin am verzweifeln:
Wie mache ich eine Zuweisung z.B. 123.456789 := 123.45 ?
Und eben so, daß dann auch nur mit 123.45 weitergerechnet wird, nicht mit 123.456789
Danke schon mal im Voraus!

bei Antwort benachrichtigen
JamesBomb Dau (Anonym) „Turbo Pascal - real runden auf 2 Kommastellen“
Optionen

multipliziere mit 100;
runde mit round(real): integer;
dividiere diesen wert durch 100; (wieder real);

bei Antwort benachrichtigen