java.lang.Double
程序员文章站
2022-06-01 21:32:16
...
//构造函数
Double d = new Double(2);
//将字符串变为Double对象,如果字符串不全是数字报NumberFormatException异常
Double d1 = new Double("2.1");
//将一个Double对象或者一个double基本数据类型的值,转为字符串.NaN的结果还是NaN
System.out.println(Double.toString(-3.1));
System.out.println(d.toString());
//转换为字符串,并将字符串以十六进制的形式表示
System.out.println(Double.toHexString(15));//0x1.ep3
System.out.println(d.toHexString(d));
//将一个字符串转化为Double对象,字符串含有非数字的字符或为空则报异常
Double pd = Double.parseDouble("9.01");
//判断值是否为NaN常量
System.out.println(Double.isNaN(Double.NaN));//true
System.out.println(d.isNaN());
//判断数字是否为无穷大
System.out.println(Double.isInfinite(2.1));
System.out.println(d.isInfinite());
//Double对象转化成字节,短整型,整形,长整型,浮点型,双精度基本数据类型
System.out.println(d.byteValue());//2
System.out.println(d.shortValue());//2
System.out.println(d.intValue());//2
System.out.println(d.longValue());//2
System.out.println(d.floatValue());//2.1
System.out.println(d.doubleValue());//2.1
/*
* 函数的其实很简单,我们知道,long类型和double类型都是64位的,
他们的内存大小一样,这个函数的做法就是把double对应的内存结构复
制到同样大小的long类型变量的内存结构中.返回这个long值.
因为Java不支持对double类型做位运算
*/
System.out.println(Double.doubleToLongBits(2));//4611686018427387904
System.out.println(Double.longBitsToDouble(4611686018427387904L));//2.0
//比较两个Double的值,相等返回0,小于返回负数,大于返回正数
System.out.println(d.compareTo(d1));//-1
System.out.println(Double.compare(d1, d));
推荐阅读