I don't know why, but, I get true after

var temp = double.parse("0");

(temp == double.NaN)

I haven't spend extra on this. So, this may not be a real case.