Steffen Gerlach: Fließkommafehler

Beitrag lesen

Ueber Strings? Das ist mir nicht effektiv genug.

Es geht nur um die Ausgabe, nicht um die Berechnung! Die standardmäßige Ausgabe rundet zu genau, das ist das ganze Problem. Wenn es ein Ausgabeformat mit Angabe der Anzahl von Stellen gibt, wäre damit das Problem schon gelöst. Andernfalls müsste man halt selbst etwas derartiges programmieren, aber es kann eben nur am Punkt der Umwandlung Zahl->String ansetzen.

Vielleicht beschreibst Du mal die komplette Problemstellung. In aller Regel müssen Gleitkommazahlen gar nicht 100% genau sein. Bestimmt lässt sich auch für Deinen Fall eine einfache und passende Lösung finden.

Was wäre z.B., wenn Du nicht den Gleitkommawert x incrementierst, sondern eine Ganzzahl i und x daraus berechnest:

for (i=0; i*section.step<(section.to-section.from); i++)
{
x=section.from+i*(section.to-section.from)/section.step;
...
}

Auch das ist nicht 100% genau (wie gesagt, kann es nicht), aber die Ungenauigkeiten addieren sich nicht mehr mit jedem Schleifendurchlauf. Bestimmt reicht diese Genauigkeit, um Werte anzuzeigen, die 100% genau aussehen.

Gruß
Steffen

P.S.: Mit dem Simon Reinhardt von http://www.pics-software.de/start.htm bist Du nicht identisch, oder?