java.lang
public final class Float extends Number implements Comparable<Float>
Float
represent primitive
float
values.
Additionally, this class provides various helper functions and variables
related to floats.
Since: 1.0
UNKNOWN: partly updated to 1.5
Field Summary | |
---|---|
static float | MAX_VALUE
The maximum positive value a double may represent
is 3.4028235e+38f. |
static float | MIN_VALUE
The minimum positive value a float may represent
is 1.4e-45. |
static float | NaN
All IEEE 754 values of NaN have the same value in Java. |
static float | NEGATIVE_INFINITY
The value of a float representation -1.0/0.0, negative infinity. |
static float | POSITIVE_INFINITY
The value of a float representation 1.0/0.0, positive infinity. |
static int | SIZE
The number of bits needed to represent a float . |
static Class<Float> | TYPE
The primitive type float is represented by this
Class object. |
Constructor Summary | |
---|---|
Float(float value)
Create a Float from the primitive float
specified.
| |
Float(double value)
Create a Float from the primitive double
specified.
| |
Float(String s)
Create a Float from the specified String .
|
Method Summary | |
---|---|
byte | byteValue()
Return the value of this Float as a byte .
|
static int | compare(float x, float y)
Behaves like new Float(x).compareTo(new Float(y)) ; in
other words this compares two floats, special casing NaN and zero,
without the overhead of objects.
|
int | compareTo(Float f)
Compare two Floats numerically by comparing their float
values. |
double | doubleValue()
Return the value of this Float as a double
|
boolean | equals(Object obj)
Returns true if obj is an instance of
Float and represents the same float value. |
static int | floatToIntBits(float value)
Convert the float to the IEEE 754 floating-point "single format" bit
layout. |
static int | floatToRawIntBits(float value)
Convert the float to the IEEE 754 floating-point "single format" bit
layout. |
float | floatValue()
Return the value of this Float .
|
int | hashCode()
Return a hashcode representing this Object. |
static float | intBitsToFloat(int bits)
Convert the argument in IEEE 754 floating-point "single format" bit
layout to the corresponding float. |
int | intValue()
Return the value of this Integer as an int .
|
static boolean | isInfinite(float v)
Return true if the float has a value
equal to either NEGATIVE_INFINITY or
POSITIVE_INFINITY , otherwise return false .
|
boolean | isInfinite()
Return true if the value of this Float
is the same as NEGATIVE_INFINITY or
POSITIVE_INFINITY , otherwise return false .
|
static boolean | isNaN(float v)
Return true if the float has the same
value as NaN , otherwise return false .
|
boolean | isNaN()
Return true if the value of this Float
is the same as NaN , otherwise return false .
|
long | longValue()
Return the value of this Integer as a long .
|
static float | parseFloat(String str)
Parse the specified String as a float . |
short | shortValue()
Return the value of this Float as a short .
|
static String | toHexString(float f)
Convert a float value to a hexadecimal string. |
static String | toString(float f)
Convert the float to a String .
|
String | toString()
Convert the float value of this Float
to a String . |
static Float | valueOf(String s)
Creates a new Float object using the String .
|
static Float | valueOf(float val)
Returns a Float object wrapping the value.
|
double
may represent
is 3.4028235e+38f.float
may represent
is 1.4e-45.float
.Since: 1.5
float
is represented by this
Class
object.Since: 1.1
Float
from the primitive float
specified.
Parameters: value the float
argument
Float
from the primitive double
specified.
Parameters: value the double
argument
Float
from the specified String
.
This method calls Float.parseFloat()
.
Parameters: s the String
to convert
Throws: NumberFormatException if s
cannot be parsed as a
float
NullPointerException if s
is null
See Also: parseFloat
Float
as a byte
.
Returns: the byte value
Since: 1.1
new Float(x).compareTo(new Float(y))
; in
other words this compares two floats, special casing NaN and zero,
without the overhead of objects.
Parameters: x the first float to compare y the second float to compare
Returns: the comparison
Since: 1.4
float
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 floats, including POSITIVE_INFINITY
, and positive
zero is considered greater than negative zero.
Parameters: f the Float to compare
Returns: the comparison
Since: 1.2
Float
as a double
Returns: the double value
true
if obj
is an instance of
Float
and represents the same float value. Unlike comparing
two floats with ==
, this treats two instances of
Float.NaN
as equal, but treats 0.0
and
-0.0
as unequal.
Note that f1.equals(f2)
is identical to
floatToIntBits(f1.floatValue()) ==
floatToIntBits(f2.floatValue())
.
Parameters: obj the object to compare
Returns: whether the objects are semantically equal
Float.intBitsToFloat(int)
to obtain the
original float
value.
Parameters: value the float
to convert
Returns: the bits of the float
See Also: Float
Float.intBitsToFloat(int)
to
obtain the original float
value.
Parameters: value the float
to convert
Returns: the bits of the float
See Also: Float
Float
.
Returns: the float value
Float
's hash
code is calculated by calling floatToIntBits(floatValue())
.
Returns: this Object's hash code
See Also: Float
Float.floatToRawIntBits(float)
.
Parameters: bits the bits to convert
Returns: the float
represented by the bits
Integer
as an int
.
Returns: the int value
true
if the float
has a value
equal to either NEGATIVE_INFINITY
or
POSITIVE_INFINITY
, otherwise return false
.
Parameters: v the float
to compare
Returns: whether the argument is (-/+) infinity
true
if the value of this Float
is the same as NEGATIVE_INFINITY
or
POSITIVE_INFINITY
, otherwise return false
.
Returns: whether this Float
is (-/+) infinity
true
if the float
has the same
value as NaN
, otherwise return false
.
Parameters: v the float
to compare
Returns: whether the argument is NaN
true
if the value of this Float
is the same as NaN
, otherwise return false
.
Returns: whether this Float
is NaN
Integer
as a long
.
Returns: the long value
String
as a float
. 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 float. 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 {@link java.text.NumberFormat}.
Parameters: str the String
to convert
Returns: the float
value of s
Throws: NumberFormatException if s
cannot be parsed as a
float
NullPointerException if s
is null
Since: 1.2
See Also: MIN_VALUE MAX_VALUE POSITIVE_INFINITY NEGATIVE_INFINITY
UNKNOWN: specify where/how we are not in accord with the spec.
Float
as a short
.
Returns: the short value
Since: 1.1
Parameters: f the float value
Returns: the hexadecimal string representation
Since: 1.5
float
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 Float | 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 float.
To create other output formats, use {@link java.text.NumberFormat}.
Parameters: f the float
to convert
Returns: the String
representing the float
UNKNOWN: specify where we are not in accord with the spec.
float
value of this Float
to a String
. This method calls
Float.toString(float)
to do its dirty work.
Returns: the String
representation
See Also: Float
Float
object using the String
.
Parameters: s the String
to convert
Returns: the new Float
Throws: NumberFormatException if s
cannot be parsed as a
float
NullPointerException if s
is null
See Also: parseFloat
Float
object wrapping the value.
In contrast to the Float
constructor, this method
may cache some values. It is used by boxing conversion.
Parameters: val the value to wrap
Returns: the Float
Since: 1.5