Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Class java.lang.Double

java.lang.Object
    |
    +----java.lang.Number
            |
            +----java.lang.Double

public final class Double
extends Number
implements Comparable
The Double class wraps a value of the primitive type double in an object. An object of type Double contains a single field whose type is double.

In addition, this class provides several methods for converting a double to a String and a String to a double, as well as other constants and methods useful when dealing with a double.

Since:
JDK1.0

Field Summary
static double  MAX_VALUE
The largest positive value of type double.
static double  MIN_VALUE
The smallest positive value of type double.
static double  NaN
A NaN value of type double.
static double  NEGATIVE_INFINITY
The negative infinity of type double.
static double  POSITIVE_INFINITY
The positive infinity of type double.
static Class  TYPE
The Class object representing the primitive type double.
 

Constructor Summary
 Double(double value)
Constructs a newly allocated Double object that represents the primitive double argument.
 Double(String s)
Constructs a newly allocated Double object that represents the floating- point value of type double represented by the string.
 

Method Summary
byte  byteValue()
Returns the value of this Double as a byte (by casting to a byte).
int  compareTo(Double anotherDouble)
Compares two Doubles numerically.
int  compareTo(Object o)
Compares this Double to another Object.
static long  doubleToLongBits(double value)
Returns a representation of the specified floating-point value according to the IEEE 754 floating-point "double format" bit layout.
double  doubleValue()
Returns the double value of this Double.
boolean  equals(Object obj)
Compares this object against the specified object.
float  floatValue()
Returns the float value of this Double.
int  hashCode()
Returns a hashcode for this Double.
int  intValue()
Returns the integer value of this Double (by casting to an int).
static boolean  isInfinite(double v)
Returns true if the specified number is infinitely large in magnitude.
boolean  isInfinite()
Returns true if this Double value is infinitely large in magnitude.
static boolean  isNaN(double v)
Returns true if the specified number is the special Not-a-Number (NaN) value.
boolean  isNaN()
Returns true if this Double value is the special Not-a-Number (NaN) value.
static double  longBitsToDouble(long bits)
Returns the double-float corresponding to a given bit represention.
long  longValue()
Returns the long value of this Double (by casting to a long).
short  shortValue()
Returns the value of this Double as a short (by casting to a short).
static String  toString(double d)
Creates a string representation of the double argument.
String  toString()
Returns a String representation of this Double object.
static Double  valueOf(String s)
Returns a new Double value initialized to the value represented by the specified String.
 
Methods inherited from class java.lang.Number
 byteValue, doubleValue, floatValue, intValue, longValue, shortValue
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

POSITIVE_INFINITY

public static final double POSITIVE_INFINITY
The positive infinity of type double.

NEGATIVE_INFINITY

public static final double NEGATIVE_INFINITY
The negative infinity of type double.

NaN

public static final double NaN
A NaN value of type double.

MAX_VALUE

public static final double MAX_VALUE
The largest positive value of type double.

MIN_VALUE

public static final double MIN_VALUE
The smallest positive value of type double.

TYPE

public static final Class TYPE
The Class object representing the primitive type double.
Constructor Detail

Double

public Double(double value)
Constructs a newly allocated Double object that represents the primitive double argument.
Parameters:
value - the value to be represented by the Double.

Double

public Double(String s) throws NumberFormatException
Constructs a newly allocated Double object that represents the floating- point value of type double represented by the string. The string is converted to a double value as if by the valueOf method.
Parameters:
s - a string to be converted to a Double.
Throws:
NumberFormatException - if the string does not contain a parsable number.
See Also:
valueOf(java.lang.String)
Method Detail

toString

public static String toString(double d)
Creates a string representation of the double argument.

The values NaN, NEGATIVE_INFINITY, POSITIVE_INFINITY, -0.0, and +0.0 are represented by the strings "NaN", "-Infinity", "Infinity", "-0.0", and "0.0", respectively.

If d is in the range 10-3 <= |d| <=107, then it is converted to a string in the style [-]ddd.ddd. Otherwise, it is converted to a string in the style [-]m.ddddE±xx.

There is always a minimum of one digit after the decimal point. The number of digits is the minimum needed to uniquely distinguish the argument value from adjacent values of type double.

Parameters:
d - the double to be converted.
Returns:
a string representation of the argument.

valueOf

public static Double valueOf(String s) throws NumberFormatException
Returns a new Double value initialized to the value represented by the specified String.
Parameters:
s - the string to be parsed.
Returns:
a newly constructed Double initialized to the value represented by the string argument.
Throws:
NumberFormatException - if the string does not contain a parsable number.

isNaN

public static boolean isNaN(double v)
Returns true if the specified number is the special Not-a-Number (NaN) value.
Parameters:
v - the value to be tested.
Returns:
true if the value of the argument is NaN; false otherwise.

isInfinite

public static boolean isInfinite(double v)
Returns true if the specified number is infinitely large in magnitude.
Parameters:
v - the value to be tested.
Returns:
true if the value of the argument is positive infinity or negative infinity; false otherwise.

isNaN

public boolean isNaN()
Returns true if this Double value is the special Not-a-Number (NaN) value.
Returns:
true if the value represented by this object is NaN; false otherwise.

isInfinite

public boolean isInfinite()
Returns true if this Double value is infinitely large in magnitude.
Returns:
true if the value represented by this object is positive infinity or negative infinity; false otherwise.

toString

public String toString()
Returns a String representation of this Double object. The primitive double value represented by this object is converted to a string exactly as if by the method toString of one argument.
Returns:
a String representation of this object.
Overrides:
toString in class Object
See Also:
toString(double)

byteValue

public byte byteValue()
Returns the value of this Double as a byte (by casting to a byte).
Overrides:
byteValue in class Number

shortValue

public short shortValue()
Returns the value of this Double as a short (by casting to a short).
Overrides:
shortValue in class Number

intValue

public int intValue()
Returns the integer value of this Double (by casting to an int).
Returns:
the double value represented by this object is converted to type int and the result of the conversion is returned.
Overrides:
intValue in class Number

longValue

public long longValue()
Returns the long value of this Double (by casting to a long).
Returns:
the double value represented by this object is converted to type long and the result of the conversion is returned.
Overrides:
longValue in class Number

floatValue

public float floatValue()
Returns the float value of this Double.
Returns:
the double value represented by this object is converted to type float and the result of the conversion is returned.
Overrides:
floatValue in class Number

doubleValue

public double doubleValue()
Returns the double value of this Double.
Returns:
the double value represented by this object.
Overrides:
doubleValue in class Number

hashCode

public int hashCode()
Returns a hashcode for this Double.
Returns:
a hash code value for this object.
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Compares this object against the specified object. The result is true if and only if the argument is not null and is a Double object that represents a double that has the identical bit pattern to the bit pattern of the double represented by this object.

Note that in most cases, for two instances of class Double, d1 and d2, the value of d1.equals(d2) is true if and only if

   d1.doubleValue() == d2.doubleValue()
 

also has the value true. However, there are two exceptions:

Parameters:
obj - the object to compare with.
Returns:
true if the objects are the same; false otherwise.
Overrides:
equals in class Object

doubleToLongBits

public static long doubleToLongBits(double value)
Returns a representation of the specified floating-point value according to the IEEE 754 floating-point "double format" bit layout.

Bit 63 represents the sign of the floating-point number. Bits 62-52 represent the exponent. Bits 51-0 represent the significand (sometimes called the mantissa) of the floating-point number.

If the argument is positive infinity, the result is 0x7ff0000000000000L.

If the argument is negative infinity, the result is 0xfff0000000000000L.

If the argument is NaN, the result is 0x7ff8000000000000L.

Parameters:
value - a double precision floating-point number.
Returns:
the bits that represent the floating-point number.

longBitsToDouble

public static double longBitsToDouble(long bits)
Returns the double-float corresponding to a given bit represention. The argument is considered to be a representation of a floating-point value according to the IEEE 754 floating-point "double precision" bit layout. That floating-point value is returned as the result.

If the argument is 0x7f80000000000000L, the result is positive infinity.

If the argument is 0xff80000000000000L, the result is negative infinity.

If the argument is any value in the range 0x7ff0000000000001L through 0x7fffffffffffffffL or in the range 0xfff0000000000001L through 0xffffffffffffffffL, the result is NaN. All IEEE 754 NaN values are, in effect, lumped together by the Java language into a single value.

Parameters:
bits - any long integer.
Returns:
the double floating-point value with the same bit pattern.

compareTo

public int compareTo(Double anotherDouble)
Compares two Doubles numerically.
Implements:
compareTo in interface Comparable
Parameters:
anotherDouble - the Double to be compared.
Returns:
the value 0 if the argument Double is equal to this Double; a value less than 0 if this Double is numerically less than the Double argument; and a value greater than 0 if this Double is numerically greater than the Double argument (signed comparison).

compareTo

public int compareTo(Object o)
Compares this Double to another Object. If the Object is a Double, this function behaves like compareTo(Double). Otherwise, it throws a ClassCastException (as Doubles are comparable only to other Doubles).
Implements:
compareTo in interface Comparable
Parameters:
o - the Object to be compared.
Returns:
the value 0 if the argument is a Double numerically equal to this Double; a value less than 0 if the argument is a Double numerically greater than this Double; and a value greater than 0 if the argument is a Double numerically less than this Double.
Throws:
ClassCastException - if the argument is not a Double.
See Also:
Comparable

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.