Java:找不到符号

时间:2015-07-02 15:12:29

标签: java tostring nan

在Javadoc中写道:

  

public static String toString(double d)

     
    

返回double参数的字符串表示形式。下面提到的所有字符都是ASCII字符。

  
     

如果参数是NaN,则结果是字符串“NaN”。

但是当我编译下面的代码时,它会给出错误:找不到符号NaN

String intStr2 =Double.toString(NaN); 

3 个答案:

答案 0 :(得分:8)

由于NaN未定义,因此抛出编译错误,使用以下内容来克服同样的错误,

String intStr2 = Double.toString(Double.NaN);

答案 1 :(得分:3)

Double.NaNDouble.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);

应打印无限