Long.NaN нет - вы в замешательстве.
Для Double.NaN, как насчет этого:
public double myParseDouble(String s)
{
double result;
try
{
result = Double.parseDouble(s);
}
catch (NumberFormatException nfe)
{
result = Double.NaN;
}
return result;
}
(правка: и очевидный подход - передать любую строку, которая является недопустимым двойным, например, пустую строку или NaN)