Compartilhar via


Float.ValueOf Método

Definição

Sobrecargas

ValueOf(Single)

Retorna uma Float instância que representa o valor especificado float .

ValueOf(String)

Retorna um Float objeto que contém o float valor representado pela cadeia de caracteres de sargumento .

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 sargumento .

[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 sargumento .

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><Infinitydd>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.

Confira também

Aplica-se a