在Javadoc中写道:
public static String toString(double d)
返回double参数的字符串表示形式。下面提到的所有字符都是ASCII字符。
如果参数是NaN,则结果是字符串“NaN”。
但是当我编译下面的代码时,它会给出错误:找不到符号NaN
String intStr2 =Double.toString(NaN);
答案 0 :(得分:8)
由于NaN未定义,因此抛出编译错误,使用以下内容来克服同样的错误,
String intStr2 = Double.toString(Double.NaN);
答案 1 :(得分:3)
Double.NaN
在Double.java
中定义为(ref jdk8)
/**
* A constant holding a Not-a-Number (NaN) value of type
* {@code double}. It is equivalent to the value returned by
* {@code Double.longBitsToDouble(0x7ff8000000000000L)}.
*/
public static final double NaN = 0.0d / 0.0;
它在字符串“NaN”
中转换得很好String intStr2 =Double.toString(Double.NaN);
System.out.println(intStr2);
答案 2 :(得分:2)
错误NaN是"不是数字"。你必须先定义它。
String intStr2 = Double.toString(Double.NAN);
您可以将其打印出来并打印出来。对于无限,你必须使用(正面和负面,可互换。)
String intStr2 = Double.toString(Double.POSITIVE_INFINITY);
System.out.print(intStr2);
应打印无限