|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.lang.Number java.lang.Float
public final class Float
Instances of class Float
represent primitive
float
values.
Additionally, this class provides various helper functions and variables
related to floats.
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 |
TYPE
The primitive type float is represented by this
Class object. |
Constructor Summary | |
---|---|
Float(double value)
Create a Float from the primitive double
specified. |
|
Float(float value)
Create a Float from the primitive float
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. |
int |
compareTo(Object o)
Behaves like compareTo(Float) unless the Object
is not an Float . |
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. |
float |
floatValue()
Return the value of this Float . |
int |
hashCode()
Return a hashcode representing this Object. |
int |
intValue()
Return the value of this Integer as an int . |
boolean |
isInfinite()
Return true if the value of this Float
is the same as NEGATIVE_INFINITY or
POSITIVE_INFINITY , otherwise return false . |
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 |
isNaN()
Return true if the value of this Float
is the same as NaN , otherwise return false . |
static boolean |
isNaN(float v)
Return true if the float has the same
value 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 . |
String |
toString()
Convert the float value of this Float
to a String . |
static String |
toString(float f)
Convert the float to a String . |
static Float |
valueOf(float val)
Returns a Float object wrapping the value. |
static Float |
valueOf(String s)
Creates a new Float object using the String . |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final float MAX_VALUE
double
may represent
is 3.4028235e+38f.
public static final float MIN_VALUE
float
may represent
is 1.4e-45.
public static final float NEGATIVE_INFINITY
public static final float POSITIVE_INFINITY
public static final float NaN
public static final Class TYPE
float
is represented by this
Class
object.
public static final int SIZE
float
.
Constructor Detail |
---|
public Float(float value)
Float
from the primitive float
specified.
value
- the float
argumentpublic Float(double value)
Float
from the primitive double
specified.
value
- the double
argumentpublic Float(String s)
Float
from the specified String
.
This method calls Float.parseFloat()
.
s
- the String
to convert
NumberFormatException
- if s
cannot be parsed as a
float
NullPointerException
- if s
is nullparseFloat(String)
Method Detail |
---|
public static String toString(float f)
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 java.text.NumberFormat
.
f
- the float
to convert
String
representing the float
public static Float valueOf(String s)
Float
object using the String
.
s
- the String
to convert
Float
NumberFormatException
- if s
cannot be parsed as a
float
NullPointerException
- if s
is nullparseFloat(String)
public static Float valueOf(float val)
Float
object wrapping the value.
In contrast to the Float
constructor, this method
may cache some values. It is used by boxing conversion.
val
- the value to wrap
Float
public static float parseFloat(String str)
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
java.text.NumberFormat
.
str
- the String
to convert
float
value of s
NumberFormatException
- if s
cannot be parsed as a
float
NullPointerException
- if s
is nullMIN_VALUE
,
MAX_VALUE
,
POSITIVE_INFINITY
,
NEGATIVE_INFINITY
public static boolean isNaN(float v)
true
if the float
has the same
value as NaN
, otherwise return false
.
v
- the float
to compare
NaN
public static boolean isInfinite(float v)
true
if the float
has a value
equal to either NEGATIVE_INFINITY
or
POSITIVE_INFINITY
, otherwise return false
.
v
- the float
to compare
public boolean isNaN()
true
if the value of this Float
is the same as NaN
, otherwise return false
.
Float
is NaN
public boolean isInfinite()
true
if the value of this Float
is the same as NEGATIVE_INFINITY
or
POSITIVE_INFINITY
, otherwise return false
.
Float
is (-/+) infinitypublic String toString()
float
value of this Float
to a String
. This method calls
Float.toString(float)
to do its dirty work.
toString
in class Object
String
representationtoString(float)
public byte byteValue()
Float
as a byte
.
byteValue
in class Number
public short shortValue()
Float
as a short
.
shortValue
in class Number
public int intValue()
Integer
as an int
.
intValue
in class Number
public long longValue()
Integer
as a long
.
longValue
in class Number
public float floatValue()
Float
.
floatValue
in class Number
public double doubleValue()
Float
as a double
doubleValue
in class Number
public int hashCode()
Float
's hash
code is calculated by calling floatToIntBits(floatValue())
.
hashCode
in class Object
#floatToIntBits(float)
public boolean equals(Object obj)
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())
.
equals
in class Object
obj
- the object to compare
Object.hashCode()
public int compareTo(Float f)
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.
f
- the Float to compare
public int compareTo(Object o)
compareTo(Float)
unless the Object
is not an Float
.
compareTo
in interface Comparable
o
- the object to compare
ClassCastException
- if the argument is not a Float
compareTo(Float)
,
Comparable
public static int compare(float x, float y)
new Float(x).compareTo(new Float(y))
; in
other words this compares two floats, special casing NaN and zero,
without the overhead of objects.
x
- the first float to comparey
- the second float to compare
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |