Gunnar Bittersmann: Math.Round() rechnet falsch

Beitrag lesen

Hello out there!

Die "richtige" Lösung, wenn man wirklich exakte Ergebnisse braucht, ist natürlich, exakt zu rechnen. Statt Fließkommazahlen nimmt man einfach vollständig gekürzte Brüche.

Wenn man sich auf die Grundrechenarten und Potenzen mit ganzzahligen Exponenten beschränkt, geht das. Andere Operationen liefern irrationale Ergebnisse.

Einfache Wurzeln ließen sich ja noch als Tripel von Ganzzahlen darstellen:
[latex]\frac{1}{2}\sqrt[3]{20}=\sqrt[3]{\frac{5}{2}}=(5,2,3)[/latex]

Schon bei Zahlen wie [latex]\sqrt{2}+\sqrt{3}[/latex] oder [latex]\sqrt{1+\sqrt{2}}[/latex] dürfte das problematisch werden. Und bei nichtalgebraischen erst ...

See ya up the road,
Gunnar

--
“Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)