d java.lang.double_Java中的Java.Lang.Double类 - Break易站

Java 包装类

Java中的Java.Lang.Double类

Double类是原始类型double的包装类,它包含若干有效处理double值的方法,如将其转换为字符串表示形式,反之亦然。Double类的对象可以包含一个double值。主要有两个构造函数来初始化Double对象 -

Double(double b):创建一个使用提供的值初始化的Double对象。

语法: public Double(Double d)

参数:

d:用于初始化的值

Double(String s):创建一个使用字符串表示形式提供的解析的double值初始化的Double对象。Defalut radix被认为是10。

语法: public Double(String s)

抛出NumberFormatException

参数:

s:字节值的字符串表示

抛出:

NumberFormatException:如果提供的字符串不表示任何double值。

方法:

toString():返回对应于double值的字符串。

语法:public String toString(double b)

参数:

b:需要字符串表示的双精度值。

valueOf():返回使用提供的值初始化的Double对象。

语法: public static Double valueOf(double b)

参数:

b:双重值

另一个重载函数valueOf(String val)提供了类似于

新的Double(Double.parseDouble(val,10))的函数

语法: public static Double valueOf(String s)

抛出NumberFormatException

参数:

s:要被解析为double的String对象

抛出:

NumberFormatException:如果字符串无法在给定基数中解析为double值。

parseDouble():通过解析字符串返回double值。与valueOf()不同,因为它返回一个原始double值,valueOf()返回Double对象。

语法: public static double parseDouble(String val)

throws NumberFormatException

参数:

val:double的字符串表示形式

抛出:

NumberFormatException:如果字符串无法在给定基数中解析为double值。

byteValue():返回与此双重对象相对应的字节值。

语法: public byte byteValue()

shortValue():返回与此双重对象相对应的短值。

语法: public short shortValue()

intValue():返回与此双重对象相对应的int值。

语法: public int intValue()

longValue():返回与此双重对象相对应的长整型值。

语法: public long longValue()

doubleValue():返回与此双重对象相对应的double值。

语法: public double doubleValue()

floatValue():返回与此双重对象相对应的浮点值。

语法: public float floatValue()

hashCode():返回对应于这个Double对象的哈希码。

语法: public int hashCode()

isNaN():如果所考虑的双对象不是数字,则返回true,否则返回false。

语法: public boolean isNaN()

如果我们不需要创建任何双重对象,则可以使用另一种静态方法是NaN(double val)。它提供了与上述版本类似的功能。

语法: public static boolean isNaN(double val)

参数:

val:双重值检查

isInfinite():如果考虑的双重对象非常大,则返回true,否则返回false。具体来说,在正方向上超出0x7ff0000000000000L且在负方向上超出0xfff0000000000000L的任何数字都是无穷大值。

语法: public boolean isInfinite()

如果我们不需要创建任何双重对象,可以使用另一种静态方法isInfinite(double val)。它提供了与上述版本类似的功能。

语法: public static boolean isInfinte(double val)

参数:

val:双重值检查

toHexString():返回参数double值的十六进制表示形式。

语法: public static String toHexString(double val)

参数:

val:用十六进制字符串表示的double值

doubleToLongBits():返回给定双参数的IEEE 754浮点“双格式”位布局。

语法: public static long doubleToLongBits(double val)

参数:

val:双值转换

doubleToRawLongBits():返回给定双参数的IEEE 754浮点“双格式”位布局。它不同于以前的方法,因为它保留了Nan值。

语法: public static long doubleToRawLongBits(double val)

参数:

val:双值转换

LongBitsToDouble():返回与参数的长位模式相对应的double值。它确实颠​​倒了前两种方法的工作。

语法: public static double LongBitsToDouble(long b)

参数:

b:长位模式

equals():用于比较两个Double对象的相等性。如果两个对象都包含相同的double值,则此方法返回true。只有在检查平等的情况下才能使用。在其他所有情况下,compareTo方法应该是首选。

语法: public boolean equals(Object obj)

参数:

obj:与之比较的对象

compareTo():用于比较两个Double对象的数值相等性。这应该用于比较两个Double值的数值相等性,因为它会区分较小值和较大值。返回小于0,0的值,大于0的值小于,等于和大于。

语法: public int compareTo(Double b)

参数:

b:与双重对象进行比较

compare():用于比较两个原始double值的数值相等。因为它是一个静态方法,因此可以在不创建任何Double对象的情况下使用它。

语法: public static int compare(double x,double y)

参数:

x:双倍值

Y:另一个双重价值

// Java program to illustrate

// various Double class methods

// of java.lang class

public class Double_test

{

public static void main(String[] args)

{

double b = 55.05;

String bb = "45";

// Construct two Double objects

Double x = new Double(b);

Double y = new Double(bb);

// toString()

System.out.println("toString(b) = " + Double.toString(b));

// valueOf()

// return Double object

Double z = Double.valueOf(b);

System.out.println("valueOf(b) = " + z);

z = Double.valueOf(bb);

System.out.println("ValueOf(bb) = " + z);

// parseDouble()

// return primitive double value

double zz = Double.parseDouble(bb);

System.out.println("parseDouble(bb) = " + zz);

System.out.println("bytevalue(x) = " + x.byteValue());

System.out.println("shortvalue(x) = " + x.shortValue());

System.out.println("intvalue(x) = " + x.intValue());

System.out.println("longvalue(x) = " + x.longValue());

System.out.println("doublevalue(x) = " + x.doubleValue());

System.out.println("floatvalue(x) = " + x.floatValue());

int hash = x.hashCode();

System.out.println("hashcode(x) = " + hash);

boolean eq = x.equals(y);

System.out.println("x.equals(y) = " + eq);

int e = Double.compare(x, y);

System.out.println("compare(x,y) = " + e);

int f = x.compareTo(y);

System.out.println("x.compareTo(y) = " + f);

Double d = Double.valueOf("1010.54789654123654");

System.out.println("isNaN(d) = " + d.isNaN());

System.out.println("Double.isNaN(45.12452) = " + Double.isNaN(45.12452));

// Double.POSITIVE_INFINITY stores

// the positive infinite value

d = Double.valueOf(Double.POSITIVE_INFINITY + 1);

System.out.println("Double.isInfinite(d) = " +

Double.isInfinite(d.doubleValue()));

double dd = 10245.21452;

System.out.println("Double.toString(dd) = " + Double.toHexString(dd));

long double_to_long = Double.doubleToLongBits(dd);

System.out.println("Double.doubleToLongBits(dd) = " + double_to_long);

double long_to_double = Double.longBitsToDouble(double_to_long);

System.out.println("Double.LongBitsToDouble(double_to_long) = " +

long_to_double);

}

}

输出:

toString(b) = 55.05

valueOf(b) = 55.05

ValueOf(bb) = 45.0

parseDouble(bb) = 45.0

bytevalue(x) = 55

shortvalue(x) = 55

intvalue(x) = 55

longvalue(x) = 55

doublevalue(x) = 55.05

floatvalue(x) = 55.05

hashcode(x) = 640540672

x.equals(y) = false

compare(x,y) = 1

x.compareTo(y) = 1

isNaN(d) = false

Double.isNaN(45.12452) = false

Double.isInfinite(d) = true

Double.toString(dd) = 0x1.4029b7564302bp13

Double.doubleToLongBits(dd) = 4666857980575363115

Double.LongBitsToDouble(double_to_long) = 10245.21452

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值