Forum: Programmieren allgemein
Delphi
by Scurra,
21. Mär 2015
Wie gesagt, mein Problem hat nichts mit Geld zu tun, aber ja. Prinzipiell hast du recht ;)
Forum: Programmieren allgemein
Delphi
by Scurra,
21. Mär 2015
Meine "Lösung" sieht jetzt so aus, dass ich ganz einfach die Rundungsfehler akzeptiere. Bei 4 Nachkommastellen, auf die ich meistens runde, macht es auch keinen so großen Unterschied. Gravierend würde es werden, wenn ich auf eine ganze Zahl runden möchte und es wird falsch gerundet.
Danke an alle, die geholfen haben!
Forum: Programmieren allgemein
Delphi
by Scurra,
18. Mär 2015
Ok, dann bin ich froh, dass es wahrscheinlich nur an Lazarus liegt, dass es bei mir nicht funktioniert. Ich habe mir jetzt einmal genau angeschaut, was SetPrecisionMode und SetRoundMode bedeutet. Für Single funktioniert das ganze vmtl., wenn ich SetPrecisionMode(pmSingle) verwende. Gibt es eine Möglichkeit, abzufragen, ob eine Zahl Single oder Double ist. Ich habe es mit
var
x1: Single
...
Forum: Programmieren allgemein
Delphi
by Scurra,
18. Mär 2015
Funktioniert das wirklich?
ShowMessage(FloatToStr(SimpleRoundTo(x2, -4)));
Das liefert bei mir 44,9999 (anstatt 45).
Was mir sonst gerade einfällt: Es ist zwar umständlich, aber falls das mit dem Runden einfach nicht klappt, muss man eben "von Hand" runden: Man frägt ab, ob die fürs Runden entscheidende Ziffer (z. B. 5. Ziffer hinter dem Punkt/Komma) eine 1, 2, 3 oder 4 ist, dann soll...
Forum: Programmieren allgemein
Delphi
by Scurra,
18. Mär 2015
Ich habe ein Dokument, in dem sich Formen (Rechtecke, Bilder o. ä.) befinden. Ich möchte beispielsweise die Positionen der Formen oder die Seitenränder (z. B. in cm) o. ä. speichern und später wieder abrufen können. Da die Werte, die ich auslesen kann, aber immer x-Stellen lang sind und ich nicht so eine hohe Genauigkeit brauche, runde ich die Zahlen lieber.
Natürlich sollte immer nach der...
Forum: Programmieren allgemein
Delphi
by Scurra,
18. Mär 2015
Ich hätte wohl besser "richtiges Runden" schreiben sollen ;)
Ok, dann ist es wohl besser, wenn ich Double verwende. Diese Genauigkeit genügt mir eigentlich auch schon. Das Runden sollte am besten für Single und Double gleiche Ergebnisse liefern. Gemäß dem obersten Link ist SimpleRoundTo genau die Funktion, die ich haben möchte.
Allerdings gibt es auch hier ein für mich unerwünschtes...
Forum: Programmieren allgemein
Delphi
by Scurra,
18. Mär 2015
Hallo zusammen,
ich stehe gerade vor einem Problem: Ich möchte Gleitkommazahlen (vom Typ Single, um genauer zu sein), exakt (d. h. kaufmännisch) runden. Das Runden soll für verschiedene Genauigkeiten (Nachkommastellen) möglich sein. Dazu habe ich mir folgende Funktion geschrieben (ich arbeite hier mit dem Datentyp Extended, weil ich bei der Verwendung von Single noch mehr Probleme habe, obwohl...