Das Problem ist, zwischen 11.7 und 11.6 liegen fast 1%, und dieser Folgefehler zieht sich durch mehrere Berechnungen durch (akkumuliert sich). Es MUSS im Normalfall abgerundet werden.
Hab einen Hinweis auf SO bekommen (bevor meine Frage wegen einer schlecht gewählten Überschrift geschlossen wurde…) Einfach .001 oder .0001 addieren und dann runden. Nur, woher weiß ich, wie klein ich den 1. Summanden wählen muss?
Die „Darstellungsungenauigkeit“ (ich denke, das nennt man so - oder Rundungsfehler(?)) scheint ja bei der einengenden Konvertierung von float nach double aufzutauchen, oder spätestens bei der anschließenden Zurück-Konvertierung in double oder bei der Ausgabe.
Als temporären Workaround alles auf double umzustellen (oder eben alles auf float), scheint auch zu funktionieren.
Aber es scheint wohl alles einen Sinn zu haben, dass es zum Beispiel jede Math-Funktion sowohl für float wie auch für double gibt.