NumberFormat Classe
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.
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
- 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 |
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 |
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 |
IntegerInstance |
Retorna um formato de número inteiro para a localidade padrão |
JniIdentityHashCode |
|
JniPeerMembers |
|
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 |
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 |
|
PercentInstance |
Retorna um formato de porcentagem para a localidade padrão |
RoundingMode |
Obtém o |
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() |
|
Dispose(Boolean) |
|
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 |
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 |
SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
ToArray<T>() |
|
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
|
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() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
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) |
|
GetJniTypeName(IJavaPeerable) |
|