Float.ValueOf Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
ValueOf(Single) |
Returns a |
ValueOf(String) |
Returns a |
ValueOf(Single)
Returns a Float
instance representing the specified
float
value.
[Android.Runtime.Register("valueOf", "(F)Ljava/lang/Float;", "")]
public static Java.Lang.Float ValueOf (float f);
[<Android.Runtime.Register("valueOf", "(F)Ljava/lang/Float;", "")>]
static member ValueOf : single -> Java.Lang.Float
Parameters
- f
- Single
a float value.
Returns
a Float
instance representing f
.
- Attributes
Remarks
Returns a Float
instance representing the specified float
value. If a new Float
instance is not required, this method should generally be used in preference to the constructor #Float(float)
, as this method is likely to yield significantly better space and time performance by caching frequently requested values.
Added in 1.5.
Java documentation for java.lang.Float.valueOf(float)
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Applies to
ValueOf(String)
Returns a Float
object holding the
float
value represented by the argument string
s
.
[Android.Runtime.Register("valueOf", "(Ljava/lang/String;)Ljava/lang/Float;", "")]
public static Java.Lang.Float ValueOf (string s);
[<Android.Runtime.Register("valueOf", "(Ljava/lang/String;)Ljava/lang/Float;", "")>]
static member ValueOf : string -> Java.Lang.Float
Parameters
- s
- String
the string to be parsed.
Returns
a Float
object holding the value
represented by the String
argument.
- Attributes
Exceptions
if string
can not be parsed as a float value.
Remarks
Returns a Float
object holding the float
value represented by the argument string s
.
If s
is null
, then a NullPointerException
is thrown.
Leading and trailing whitespace characters in s
are ignored. Whitespace is removed as if by the String#trim
method; that is, both ASCII space and control characters are removed. The rest of s
should constitute a FloatValue as described by the lexical syntax rules:
<blockquote> <dl> <dt>FloatValue:<dd>Sign<sub>opt</sub>NaN
<dd>Sign<sub>opt</sub>Infinity
<dd>Sign<sub>opt</sub> FloatingPointLiteral<dd>Sign<sub>opt</sub> HexFloatingPointLiteral<dd>SignedInteger</dl>
<dl> <dt>HexFloatingPointLiteral: <dd> HexSignificand BinaryExponent FloatTypeSuffix<sub>opt</sub></dl>
<dl> <dt>HexSignificand:<dd>HexNumeral<dd>HexNumeral.
<dd>0x
HexDigits<sub>opt</sub> .
HexDigits<dd>0X
HexDigits<sub>opt</sub> .
HexDigits</dl>
<dl> <dt>BinaryExponent:<dd>BinaryExponentIndicator SignedInteger</dl>
<dl> <dt>BinaryExponentIndicator:<dd>p
<dd>P
</dl>
</blockquote>
where Sign, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger and FloatTypeSuffix are as defined in the lexical structure sections of <cite>The Java Language Specification</cite>, except that underscores are not accepted between digits. If s
does not have the form of a FloatValue, then a NumberFormatException
is thrown. Otherwise, s
is regarded as representing an exact decimal value in the usual "computerized scientific notation" or as an exact hexadecimal value; this exact numerical value is then conceptually converted to an "infinitely precise" binary value that is then rounded to type float
by the usual round-to-nearest rule of IEEE 754 floating-point arithmetic, which includes preserving the sign of a zero value.
Note that the round-to-nearest rule also implies overflow and underflow behaviour; if the exact value of s
is large enough in magnitude (greater than or equal to (#MAX_VALUE
+ Math#ulp(float) ulp(MAX_VALUE)
/2), rounding to float
will result in an infinity and if the exact value of s
is small enough in magnitude (less than or equal to #MIN_VALUE
/2), rounding to float will result in a zero.
Finally, after rounding a Float
object representing this float
value is returned.
To interpret localized string representations of a floating-point value, use subclasses of java.text.NumberFormat
.
Note that trailing format specifiers, specifiers that determine the type of a floating-point literal (1.0f
is a float
value; 1.0d
is a double
value), do <em>not</em> influence the results of this method. In other words, the numerical value of the input string is converted directly to the target floating-point type. In general, the two-step sequence of conversions, string to double
followed by double
to float
, is <em>not</em> equivalent to converting a string directly to float
. For example, if first converted to an intermediate double
and then to float
, the string<br> "1.00000017881393421514957253748434595763683319091796875001d"
<br> results in the float
value 1.0000002f
; if the string is converted directly to float
, 1.000000<b>1</b>f
results.
To avoid calling this method on an invalid string and having a NumberFormatException
be thrown, the documentation for Double#valueOf Double.valueOf
lists a regular expression which can be used to screen the input.
Java documentation for java.lang.Float.valueOf(java.lang.String)
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.