I have this code: float number=getFloat(); assert(number!=float.nan); //this passes assert(to!(char[])(number)!="nan"); //this fails writefln(string.toString(number)); //this outputs: "nan" writefln( to!(char[])(to!(long)(number)) ); //this generates an error What did I do wrong?