ho pensato che risultato di qualsiasi operazione matematica su un NaN mi dovrebbe dare un NaN indietro, ma Math.round(Float.NaN) == 0
Perché Math.round() restituisce 0 per gli argomenti NaN?
Qual è la logica per tale comportamento di Math.round()?
Curiosamente, C# si comporta diversamente: http://msdn.microsoft.com/en-us/library/75ks3aby.aspx
come ha detto @pst, è il comportamento normale definito per NaN: "Se l'argomento è NaN, il risultato è 0". –
La logica è che prima c'era un bug in 'Math.round()' quando chiamato su NaN poteva potenzialmente rovinare le future chiamate a 'Math.round()': http://bugs.sun.com/bugdatabase/ view_bug.do?bug_id=4755500 –
La differenza è probabile; in Java restituisce 'long' che non può essere' Double.NaN' mentre un C# restituisce un 'double' –