Compartilhar via


NumberFormat Classe

Definição

NumberFormat é a classe base abstrata para todos os formatos numéricos.

[Android.Runtime.Register("java/text/NumberFormat", DoNotGenerateAcw=true)]
public abstract class NumberFormat : Java.Text._Format
[<Android.Runtime.Register("java/text/NumberFormat", DoNotGenerateAcw=true)>]
type NumberFormat = class
    inherit _Format
Herança
NumberFormat
Derivado
Atributos

Comentários

NumberFormat é a classe base abstrata para todos os formatos numéricos. Essa classe fornece a interface para formatar e analisar números. NumberFormat também fornece métodos para determinar quais localidades têm formatos de número e quais são seus nomes.

NumberFormat ajuda a formatar e analisar números para qualquer localidade. Seu código pode ser completamente independente das convenções de localidade para pontos decimais, separadores de milhares, ou até mesmo os dígitos decimais específicos usados, ou se o formato de número é mesmo decimal.

Para formatar um número para a localidade atual, use um dos métodos de classe de fábrica: <blockquote>

{@code
            myString = NumberFormat.getInstance().format(myNumber);
            }

</blockquote> Se você estiver formatando vários números, é mais eficiente obter o formato e usá-lo várias vezes para que o sistema não precise buscar as informações sobre o idioma local e as convenções do país várias vezes. <blockquote>

{@code
            NumberFormat nf = NumberFormat.getInstance();
            for (int i = 0; i < myNumber.length; ++i) {
                output.println(nf.format(myNumber[i]) + "; ");
            }
            }

</blockquote> Para formatar um número para uma localidade diferente, especifique-o na chamada para getInstance. <blockquote>

{@code
            NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
            }

</blockquote>

Se a localidade contiver extensões Unicode "nu" (números), os dígitos decimais e/ou o país usado para formatação serão substituídos.

Você também pode usar um NumberFormat para analisar números: <blockquote>

{@code
            myNumber = nf.parse(myString);
            }

</blockquote> Use getInstance ou getNumberInstance para obter o formato de número normal. Use getIntegerInstance para obter um formato de número inteiro. Use getCurrencyInstance para obter o formato de número de moeda. Use getCompactNumberInstance para obter o formato de número compacto para formatar um número em formato mais curto. Por exemplo, 2000 pode ser formatado como "2K" em java.util.Locale#US US locale. Use getPercentInstance para obter um formato para exibir porcentagens. Com esse formato, uma fração como 0,53 é exibida como 53%.

Você também pode controlar a exibição de números com métodos como setMinimumFractionDigits. Se você quiser ainda mais controle sobre o formato ou a análise, ou quiser dar aos usuários mais controle, você pode tentar converter o NumberFormat que você obtém dos métodos de fábrica para um DecimalFormat ou CompactNumberFormat dependendo do método de fábrica usado. Isso funcionará para a grande maioria das localidades; Apenas lembre-se de colocá-lo em um try bloco caso você encontre um incomum.

NumberFormat e DecimalFormat são projetados de forma que alguns controles funcionem para formatação e outros para análise. Segue-se a descrição pormenorizada de cada um destes métodos de controlo,

setParseIntegerOnly : afeta apenas a análise, por exemplo, se verdadeiro, "3456.78" → 3456 (e deixa a posição de análise logo após o índice 6) se falso, "3456.78" → 3456.78 (e deixa a posição de análise logo após o índice 8) Isso independe da formatação. Se você quiser não mostrar um ponto decimal onde pode não haver dígitos após o ponto decimal, use setDecimalSeparatorAlwaysShown.

setDecimalSeparatorAlwaysShown : afeta somente a formatação, e somente onde pode não haver dígitos após o ponto decimal, como com um padrão como "#,##0.##", por exemplo, se verdadeiro, 3456.00 → "3,456." se falso, 3456,00 → "3456" Isso independe da análise. Se quiser que a análise pare no ponto decimal, use setParseIntegerOnly.

Você também pode usar formulários dos parse métodos e format com ParsePosition e FieldPosition para permitir que você: <ul<>li> analise progressivamente através de partes de uma cadeia de caracteres <li> alinhar o ponto decimal e outras áreas </ul> Por exemplo, você pode alinhar números de duas maneiras: <ol><li> Se você estiver usando uma fonte monoespaçada com espaçamento para alinhamento, você pode passar o em sua chamada de FieldPosition formato, com field = INTEGER_FIELD. Na saída, getEndIndex será definido como o deslocamento entre o último caractere do inteiro e o decimal. Adicione espaços (desiredSpaceCount - getEndIndex) na frente da cadeia de caracteres.

<li> Se você estiver usando fontes proporcionais, em vez de preencher com espaços, meça a largura da cadeia de caracteres em pixels do início ao getEndIndex. Em seguida, mova a caneta por (desiredPixelWidth - widthToAlignmentPoint) antes de desenhar o texto. Ele também funciona onde não há caracteres decimais, mas possivelmente adicionais no final, por exemplo, com parênteses em números negativos: "(12)" para -12. </Ol>

<h2>"sincronização">Sincronização</h2>

Os formatos de número geralmente não são sincronizados. É recomendável criar instâncias de formato separadas para cada thread. Se vários threads acessarem um formato simultaneamente, ele deverá ser sincronizado externamente.

Adicionado em 1.1.

Documentação Java para java.text.NumberFormat.

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.

Construtores

NumberFormat()

Único construtor.

NumberFormat(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução.

Campos

FractionField

Constante de campo usada para construir um objeto FieldPosition.

IntegerField

Constante de campo usada para construir um objeto FieldPosition.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Currency

Obtém a moeda usada por esse formato de número ao formatar valores de moeda. -ou- Define a moeda usada por esse formato de número ao formatar valores de moeda.

CurrencyInstance

Retorna um formato de moeda para a localidade padrão java.util.Locale.Category#FORMAT FORMAT atual.

GroupingUsed

Retorna true se o agrupamento for usado nesse formato. -ou- Defina se o agrupamento será ou não usado neste formato.

Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
Instance

Retorna um formato de número de uso geral para a localidade padrão java.util.Locale.Category#FORMAT FORMAT atual.

IntegerInstance

Retorna um formato de número inteiro para a localidade padrão java.util.Locale.Category#FORMAT FORMAT atual.

JniIdentityHashCode

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
JniPeerMembers

NumberFormat é a classe base abstrata para todos os formatos numéricos.

MaximumFractionDigits

Retorna o número máximo de dígitos permitidos na parte de fração de um número. -ou- Define o número máximo de dígitos permitidos na porção de fração de um número.

MaximumIntegerDigits

Retorna o número máximo de dígitos permitidos na parte inteira de um número. -ou- Define o número máximo de dígitos permitidos na parte inteira de um número.

MinimumFractionDigits

Retorna o número mínimo de dígitos permitidos na parte de fração de um número. -ou- Define o número mínimo de dígitos permitidos na porção fracionária de um número.

MinimumIntegerDigits

Retorna o número mínimo de dígitos permitidos na parte inteira de um número. -ou- Define o número mínimo de dígitos permitidos na parte inteira de um número.

NumberInstance

Retorna um formato de número de uso geral para a localidade padrão java.util.Locale.Category#FORMAT FORMAT atual.

ParseIntegerOnly

Retorna true se esse formato analisar números somente como inteiros. -ou- Define se os números devem ou não ser analisados apenas como inteiros.

PeerReference

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
PercentInstance

Retorna um formato de porcentagem para a localidade padrão java.util.Locale.Category#FORMAT FORMAT atual.

RoundingMode

Obtém o java.math.RoundingMode usado neste NumberFormat. -ou- Define o java.math.RoundingMode usado neste NumberFormat.

ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de _Format)
Dispose()

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
Dispose(Boolean)

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
Format(Double)

Especialização de formato.

Format(Double, StringBuffer, FieldPosition)

Especialização de formato.

Format(Int64)

Especialização de formato.

Format(Int64, StringBuffer, FieldPosition)

Especialização de formato.

Format(Object)

Formata um objeto para produzir uma cadeia de caracteres.

(Herdado de _Format)
Format(Object, StringBuffer, FieldPosition)

Formata um número e acrescenta o texto resultante ao buffer de cadeia de caracteres fornecido.

FormatToCharacterIterator(Object)

Formata um objeto produzindo um AttributedCharacterIteratorarquivo .

(Herdado de _Format)
GetAvailableLocales()

Retorna um formato científico para a localidade padrão atual.

GetCurrencyInstance(Locale)

Retorna um formato de moeda para a localidade especificada.

GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
GetInstance(Locale)

Retorna um formato de número de uso geral para a localidade especificada.

GetIntegerInstance(Locale)

Retorna um formato de número inteiro para a localidade especificada.

GetNumberInstance(Locale)

Retorna um formato de número de uso geral para a localidade especificada.

GetPercentInstance(Locale)

Retorna um formato de porcentagem para a localidade especificada.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
Parse(String)

Analisa o texto do início da cadeia de caracteres fornecida para produzir um número.

Parse(String, ParsePosition)

Retorna um Long se possível (e.

ParseObject(String)

Analisa o texto do início da cadeia de caracteres fornecida para produzir um objeto.

(Herdado de _Format)
ParseObject(String, ParsePosition)

Analisa texto de uma cadeia de caracteres para produzir um Numberarquivo .

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
ToArray<T>()

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
IJavaPeerable.Finalized()

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

NumberFormat é a classe base abstrata para todos os formatos numéricos.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

NumberFormat é a classe base abstrata para todos os formatos numéricos.

GetJniTypeName(IJavaPeerable)

NumberFormat é a classe base abstrata para todos os formatos numéricos.

Aplica-se a