Java.Lang.Double Class in Java
Double class is a wrapper class for the primitive type double which contains several methods to effectively deal with a double value like converting it to a string representation, and vice-versa. An object of the Double class can hold a single double value. Double class is a wrapper class for the primitive type double which contains several methods to effectively deal with a double value like converting it to a string representation, and vice-versa. An object of the Double class can hold a single double value.
There are mainly two constructors to initialize a Double-object.
A. Double(double b): Creates a Double-object initialized with the value provided where it takes a value with which to initialize as a parameter.
public Double(double d)
Parameters: Value with which to initialize
B. Double(String s): Creates a Double-object initialized with the parsed double value provided by string representation where it takes a string representation of the byte value as a parameter.
Default radix is taken to be 10.
public Double(String s) throws NumberFormatException
Exception Thrown: It throws NumberFormatException if the string provided does not represent any double value.
Methods of Double Class
Method | Action Performed |
---|---|
byteValue() | Returns a byte value corresponding to this Double Object |
compare() | Compare two primitive double values for numerical equality. As it is a static method therefore it can be used without creating any object of Double. |
compareTo() | Used to compare two Double objects for numerical equality and returns a value less than 0,0, a value greater than 0 for less than, equal to, and greater than. |
doubleValue() | Returns a double value corresponding to this Double Object. |
doubleToLongBits() | Returns the IEEE 754 floating-point “double format” bit layout of the given double argument. |
doubleToRawLongBits() | Returns the IEEE 754 floating-point “double format” bit layout of the given double argument. It differs from the previous method as it preserves the Nan values. |
equals() | Compare the equality of two Double objects and returns true if both the objects contain same double value. |
floatValue() | Returns a float value corresponding to this Double Object. |
hashCode() | Returns the hashcode corresponding to this Double Object. |
isInfinite() | Returns true if the double object in consideration is very large, otherwise false. |
isNaN() | Returns true if the double object in consideration is not a number, otherwise false. |
intValue() | Returns an integer value corresponding to this Double Object |
longValue() | Returns long value corresponding to this Double Object. |
longBitsToDouble() | Returns double value corresponding to the long bit pattern of the argument. |
parseDouble() | Returns double value by parsing the string. |
shortValue() | Returns short value corresponding to this Double Object |
toHexString() | Returns hexadecimal representation of the argument double value. |
toString() | Returns the string corresponding to the double value |
valueOf() | Returns a Double-object initialized with the value provided |
valueOf(String s) | Returns a Double-object initialized with the value provided |
Implementation:
Java
// Java Program to Illustrate Double Class // Via Demonstrating Its Methods // Class public class GFG { // Main driver method public static void main(String[] args) { // Declaring and initializing // double and String values double b = 55.05 ; String bb = "45" ; // Construct two Double objects Double x = new Double(b); Double y = new Double(bb); // Method - toString() System.out.println( "toString(b) = " + Double.toString(b)); // Method - 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); // Method - parseDouble() // Return primitive double value double zz = Double.parseDouble(bb); System.out.println( "parseDouble(bb) = " + zz); // Print statements 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); } } |
Output
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