Hi Steffen!
Vielen Dank fuer die ausfuehrliche Erklaerung, ich glaub, ich hab's jetzt.
(2) Du rechnest von vornherein nur mit Zahlen, die im Binärsystem exakt darstellbar sind. Statt 0.2er Schritten könntest Du z.B. 0.25er oder 0.203125er (=13/64) Schritte wählen.
Kann ich mir leider nicht aussuchen, da die Schrittweite vom Benutzer eingegeben wird und so halt nicht kontrollierbar ist. 0.2 habe ich nur fuer Testzwecke benutzt.
(1) Du lässt dem Rechner die Hoheit über seine Zahlen, musst dann aber die standardmäßige Umwandlung Zahl->String algorithmisch nachbearbeiten, da diese von einer zu hohen Genauigkeit ausgeht. Ein Wert wie z.B. "-1.2000000000000006" müsste dann über String-Funktionen (nicht numerisch!) auf "-1.2" gebracht werden.
Ueber Strings? Das ist mir nicht effektiv genug. Aber es muesste eigentlich funktionieren, wenn ich die Nachkommastellen der Schrittweite (in diesem Fall also eine) zaehle und dann jeweils auf soviele Stellen runde.
MfG Simon