Float.ValueOf Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
ValueOf(Single) |
Retorna uma |
ValueOf(String) |
Retorna um |
ValueOf(Single)
Retorna uma Float
instância que representa o valor especificado float
.
[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
Parâmetros
- f
- Single
um valor flutuante.
Retornos
uma Float
instância que representa f
.
- Atributos
Comentários
Retorna uma Float
instância que representa o valor especificado float
. Se uma nova Float
instância não for necessária, esse método geralmente deve ser usado em preferência ao construtor #Float(float)
, pois esse método provavelmente produzirá um desempenho de espaço e tempo significativamente melhor armazenando em cache os valores solicitados com frequência.
Adicionado em 1.5.
Documentação Java para java.lang.Float.valueOf(float)
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.
Aplica-se a
ValueOf(String)
Retorna um Float
objeto que contém o float
valor representado pela cadeia de caracteres de s
argumento .
[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
Parâmetros
- s
- String
a cadeia de caracteres a ser analisada.
Retornos
um Float
objeto que contém o valor representado pelo String
argumento.
- Atributos
Exceções
se string
não pode ser analisado como um valor flutuante.
Comentários
Retorna um Float
objeto que contém o float
valor representado pela cadeia de caracteres de s
argumento .
Se s
é null
, então um NullPointerException
é jogado.
Os caracteres de espaço em branco à esquerda e à direita são s
ignorados. O espaço em branco é removido como se fosse pelo método, ou seja, tanto o espaço ASCII quanto os String#trim
caracteres de controle são removidos. O restante deve constituir um FloatValue conforme descrito pelas regras de s
sintaxe lexical:
<blockquote><dl><dt>FloatValue:<dd>Sign<sub>opt</subNaN
<>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<.
dd0x
>HexDigits<sub>opt</sub.
> HexDigits<dd0X
> HexDigits<sub>opt</sub>.
HexDigits</dl><>
<dl dt>BinaryExponent:<dd>BinaryExponentIndicator SignedInteger</dl><>
<><dl dt>BinaryExponentIndicator:<dd>p
<dd>P
</dl>
</blockquote>
onde Sign, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger e FloatTypeSuffix são definidos nas seções de estrutura lexical de <cite>The Java Language Specification</cite>, exceto que sublinhados não são aceitos entre dígitos. Se s
não tiver a forma de um FloatValue, então um NumberFormatException
é lançado. Caso contrário, s
é considerado como representando um valor decimal exato na usual "notação científica computadorizada" ou como um valor hexadecimal exato, este valor numérico exato é então conceitualmente convertido em um valor binário "infinitamente preciso" que é então arredondado para o tipo float
pela regra usual de arredondamento para mais próximo da aritmética de ponto flutuante IEEE 754, que inclui preservar o sinal de um valor zero.
Observe que a regra de arredondamento para mais próximo também implica comportamento de transbordamento e subfluxo; Se o valor exato de s
for grande o suficiente em magnitude (maior ou igual a (#MAX_VALUE
+ Math#ulp(float) ulp(MAX_VALUE)
/2), o arredondamento para float
resultará em um infinito e se o valor exato de s
for pequeno o suficiente em magnitude (menor ou igual a #MIN_VALUE
/2), o arredondamento para flutuar resultará em um zero.
Finalmente, depois de arredondar um Float
objeto que representa esse float
valor é retornado.
Para interpretar representações de cadeia de caracteres localizadas de um valor de ponto flutuante, use subclasses de java.text.NumberFormat
.
Observe que especificadores de formato à direita, especificadores que determinam o tipo de um literal de ponto flutuante (1.0f
é um float
valor; 1.0d
é um double
valor), <não>< influenciam os>resultados desse método. Em outras palavras, o valor numérico da cadeia de caracteres de entrada é convertido diretamente para o tipo de ponto flutuante de destino. Em geral, a sequência de conversões de duas etapas, string to double
followed by double
to float
, é <em>not/em> equivalente< a converter uma string diretamente em float
. Por exemplo, se primeiro convertido para um intermediário double
e depois para float
, a string<br><"1.00000017881393421514957253748434595763683319091796875001d"
> br resulta no float
valor 1.0000002f
, se a string é convertida diretamente em float
, 1.000000<b>1</b>f
resulta.
Para evitar chamar esse método em uma cadeia de caracteres inválida e ter um NumberFormatException
ser lançado, a documentação para Double#valueOf Double.valueOf
lista uma expressão regular que pode ser usada para filtrar a entrada.
Documentação Java para java.lang.Float.valueOf(java.lang.String)
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.