|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.lang.Number
java.lang.Double
public final class Double
Instances of class Double represent primitive
double values.
Additionally, this class provides various helper functions and variables
related to doubles.
| Field Summary | |
|---|---|
static double |
MAX_VALUE
The maximum positive value a double may represent
is 1.7976931348623157e+308. |
static double |
MIN_VALUE
The minimum positive value a double may represent
is 5e-324. |
static double |
NaN
All IEEE 754 values of NaN have the same value in Java. |
static double |
NEGATIVE_INFINITY
The value of a double representation -1.0/0.0, negative infinity. |
static double |
POSITIVE_INFINITY
The value of a double representing 1.0/0.0, positive infinity. |
static int |
SIZE
The number of bits needed to represent a double. |
static Class<Double> |
TYPE
The primitive type double is represented by this
Class object. |
| Constructor Summary | |
|---|---|
Double(double value)
Create a Double from the primitive double
specified. |
|
Double(String s)
Create a Double from the specified String. |
|
| Method Summary | |
|---|---|
byte |
byteValue()
Return the value of this Double as a byte. |
static int |
compare(double x,
double y)
Behaves like new Double(x).compareTo(new Double(y)); in
other words this compares two doubles, special casing NaN and zero,
without the overhead of objects. |
int |
compareTo(Double d)
Compare two Doubles numerically by comparing their double
values. |
static long |
doubleToLongBits(double value)
Convert the double to the IEEE 754 floating-point "double format" bit layout. |
static long |
doubleToRawLongBits(double value)
Convert the double to the IEEE 754 floating-point "double format" bit layout. |
double |
doubleValue()
Return the value of this Double. |
boolean |
equals(Object obj)
Returns true if obj is an instance of
Double and represents the same double value. |
float |
floatValue()
Return the value of this Double as a float. |
int |
hashCode()
Return a hashcode representing this Object. |
int |
intValue()
Return the value of this Double as an int. |
boolean |
isInfinite()
Return true if the value of this Double
is the same as NEGATIVE_INFINITY or
POSITIVE_INFINITY, otherwise return false. |
static boolean |
isInfinite(double v)
Return true if the double has a value
equal to either NEGATIVE_INFINITY or
POSITIVE_INFINITY, otherwise return false. |
boolean |
isNaN()
Return true if the value of this Double
is the same as NaN, otherwise return false. |
static boolean |
isNaN(double v)
Return true if the double has the same
value as NaN, otherwise return false. |
static double |
longBitsToDouble(long bits)
Convert the argument in IEEE 754 floating-point "double format" bit layout to the corresponding float. |
long |
longValue()
Return the value of this Double as a long. |
static double |
parseDouble(String str)
Parse the specified String as a double. |
short |
shortValue()
Return the value of this Double as a short. |
static String |
toHexString(double d)
Convert a double value to a hexadecimal string. |
String |
toString()
Convert the double value of this Double
to a String. |
static String |
toString(double d)
Convert the double to a String. |
static Double |
valueOf(double val)
Returns a Double object wrapping the value. |
static Double |
valueOf(String s)
Create a new Double object using the String. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final double MAX_VALUE
double may represent
is 1.7976931348623157e+308.
public static final double MIN_VALUE
double may represent
is 5e-324.
public static final double NEGATIVE_INFINITY
public static final double POSITIVE_INFINITY
public static final double NaN
public static final int SIZE
double.
public static final Class<Double> TYPE
double is represented by this
Class object.
| Constructor Detail |
|---|
public Double(double value)
Double from the primitive double
specified.
value - the double argumentpublic Double(String s)
Double from the specified String.
This method calls Double.parseDouble().
s - the String to convert
NumberFormatException - if s cannot be parsed as a
double
NullPointerException - if s is nullparseDouble(String)| Method Detail |
|---|
public static String toString(double d)
double to a String.
Floating-point string representation is fairly complex: here is a
rundown of the possible values. "[-]" indicates that a
negative sign will be printed if the value (or exponent) is negative.
"<number>" means a string of digits ('0' to '9').
"<digit>" means a single digit ('0' to '9').| Value of Double | String Representation |
|---|---|
| [+-] 0 | [-]0.0 |
| Between [+-] 10-3 and 107, exclusive | [-]number.number |
| Other numeric value | [-]<digit>.<number>
E[-]<number> |
| [+-] infinity | [-]Infinity |
| NaN | NaN |
. and at least one digit printed after
it: even if the number is 3, it will be printed as 3.0.
After the ".", all digits will be printed except trailing zeros. The
result is rounded to the shortest decimal number which will parse back
to the same double.
To create other output formats, use NumberFormat.
d - the double to convert
String representing the doublepublic static String toHexString(double d)
d - the double value
public static Double valueOf(double val)
Double object wrapping the value.
In contrast to the Double constructor, this method
may cache some values. It is used by boxing conversion.
val - the value to wrap
Doublepublic static Double valueOf(String s)
Double object using the String.
s - the String to convert
Double
NumberFormatException - if s cannot be parsed as a
double
NullPointerException - if s is null.parseDouble(String)public static double parseDouble(String str)
String as a double. The
extended BNF grammar is as follows:
DecodableString:
( [ - | + ] NaN )
| ( [ - | + ] Infinity )
| ( [ - | + ] FloatingPoint
[ f | F | d
| D] )
FloatingPoint:
( { Digit }+ [ . { Digit } ]
[ Exponent ] )
| ( . { Digit }+ [ Exponent ] )
Exponent:
( ( e | E )
[ - | + ] { Digit }+ )
Digit: '0' through '9'
NaN and infinity are special cases, to allow parsing of the output of toString. Otherwise, the result is determined by calculating n * 10exponent to infinite precision, then rounding to the nearest double. Remember that many numbers cannot be precisely represented in floating point. In case of overflow, infinity is used, and in case of underflow, signed zero is used. Unlike Integer.parseInt, this does not accept Unicode digits outside the ASCII range.
If an unexpected character is found in the String, a
NumberFormatException will be thrown. Leading and trailing
'whitespace' is ignored via String.trim(), but spaces
internal to the actual number are not allowed.
To parse numbers according to another format, consider using
NumberFormat.
str - the String to convert
double value of s
NumberFormatException - if s cannot be parsed as a
double
NullPointerException - if s is nullMIN_VALUE,
MAX_VALUE,
POSITIVE_INFINITY,
NEGATIVE_INFINITYpublic static boolean isNaN(double v)
true if the double has the same
value as NaN, otherwise return false.
v - the double to compare
NaN.public static boolean isInfinite(double v)
true if the double has a value
equal to either NEGATIVE_INFINITY or
POSITIVE_INFINITY, otherwise return false.
v - the double to compare
public boolean isNaN()
true if the value of this Double
is the same as NaN, otherwise return false.
Double is NaNpublic boolean isInfinite()
true if the value of this Double
is the same as NEGATIVE_INFINITY or
POSITIVE_INFINITY, otherwise return false.
Double is (-/+) infinitypublic String toString()
double value of this Double
to a String. This method calls
Double.toString(double) to do its dirty work.
toString in class ObjectString representationtoString(double)public byte byteValue()
Double as a byte.
byteValue in class Numberpublic short shortValue()
Double as a short.
shortValue in class Numberpublic int intValue()
Double as an int.
intValue in class Numberpublic long longValue()
Double as a long.
longValue in class Numberpublic float floatValue()
Double as a float.
floatValue in class Numberpublic double doubleValue()
Double.
doubleValue in class Numberpublic int hashCode()
Double's hash
code is calculated by:long v = Double.doubleToLongBits(doubleValue());
int hash = (int)(v^(v>>32)).
hashCode in class ObjectdoubleToLongBits(double)public boolean equals(Object obj)
true if obj is an instance of
Double and represents the same double value. Unlike comparing
two doubles with ==, this treats two instances of
Double.NaN as equal, but treats 0.0 and
-0.0 as unequal.
Note that d1.equals(d2) is identical to
doubleToLongBits(d1.doubleValue()) ==
doubleToLongBits(d2.doubleValue()).
equals in class Objectobj - the object to compare
Object.hashCode()public static long doubleToLongBits(double value)
Double.longBitsToDouble(long) to obtain the original
double value.
value - the double to convert
doublelongBitsToDouble(long)public static long doubleToRawLongBits(double value)
Double.longBitsToDouble(long) to obtain the original
double value.
value - the double to convert
doublelongBitsToDouble(long)public static double longBitsToDouble(long bits)
Double.doubleToRawLongBits(double).
bits - the bits to convert
double represented by the bitsdoubleToLongBits(double),
doubleToRawLongBits(double)public int compareTo(Double d)
double
values. The result is positive if the first is greater, negative if the
second is greater, and 0 if the two are equal. However, this special
cases NaN and signed zero as follows: NaN is considered greater than
all other doubles, including POSITIVE_INFINITY, and positive
zero is considered greater than negative zero.
compareTo in interface Comparable<Double>d - the Double to compare
public static int compare(double x,
double y)
new Double(x).compareTo(new Double(y)); in
other words this compares two doubles, special casing NaN and zero,
without the overhead of objects.
x - the first double to comparey - the second double to compare
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||