MiK
Geoguru
Und genau dieses Verhalten habe ich schon mal erlebt, mit gleichem Code für unterschiedliche Plattformen kompiliert. Es hat sich dann unterschiedlich verhalten.Silas schrieb:Laut http://en.wikipedia.org/wiki/IEEE_754 und http://en.wikipedia.org/wiki/NaN ist NaN aber per Definition niemals gleich NaN, sodass auch Double.NaN == Double.NaN false ergeben sollte.
Deswegen würde ich auch generell auf die Verwendung von NaN als Indikator verzichten. Am besten auch von den geschschachtelten switch/case weg. Vielleicht besser in einem ersten switch/case in eine einheitliche Zwischeneinheit wandeln und in einem zweiten switch/case dann in die Zieleinheit. Das macht das ganze wohl übersichtlicher und wartbarer. Außerdem kann man dann einfach unter "default" ein bool setzen, dass am Ende zur Überprüfung dient.