NumberFormat Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
NumberFormat
è la classe base astratta per tutti i formati numerici.
[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
- Ereditarietà
- Derivato
- Attributi
Commenti
NumberFormat
è la classe base astratta per tutti i formati numerici. Questa classe fornisce l'interfaccia per la formattazione e l'analisi dei numeri. NumberFormat
fornisce inoltre metodi per determinare le impostazioni locali con formati numerici e i relativi nomi.
NumberFormat
consente di formattare e analizzare i numeri per qualsiasi impostazione locale. Il codice può essere completamente indipendente dalle convenzioni delle impostazioni locali per i separatori decimali, le migliaia o anche le cifre decimali specifiche usate o se il formato numerico è pari a decimale.
Per formattare un numero per le impostazioni locali correnti, usare uno dei metodi della classe factory: <blockquote>
{@code
myString = NumberFormat.getInstance().format(myNumber);
}
</blockquote> Se si formattano più numeri, è più efficiente ottenere il formato e usarlo più volte in modo che il sistema non deve recuperare le informazioni relative alla lingua locale e alle convenzioni paese più volte. <blockquote>
{@code
NumberFormat nf = NumberFormat.getInstance();
for (int i = 0; i < myNumber.length; ++i) {
output.println(nf.format(myNumber[i]) + "; ");
}
}
</blockquote> Per formattare un numero per impostazioni locali diverse, specificarlo nella chiamata a getInstance
. <blockquote>
{@code
NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
}
</blockquote>
Se le impostazioni locali contengono estensioni Unicode "nu" (numeri), vengono sostituite le cifre decimali e/o il paese usato per la formattazione.
È anche possibile usare un NumberFormat
per analizzare i numeri: <blockquote>
{@code
myNumber = nf.parse(myString);
}
</blockquote> Usare getInstance
o getNumberInstance
per ottenere il formato numero normale. Usare getIntegerInstance
per ottenere un formato numerico intero. Usare getCurrencyInstance
per ottenere il formato del numero di valuta. Utilizzare getCompactNumberInstance
per ottenere il formato numero compatto per formattare un numero in forma più breve. Ad esempio, 2000
può essere formattato come "2K"
in java.util.Locale#US US locale
. Usare getPercentInstance
per ottenere un formato per la visualizzazione delle percentuali. Con questo formato, una frazione come 0,53 viene visualizzata come 53%.
È anche possibile controllare la visualizzazione dei numeri con metodi come setMinimumFractionDigits
. Se si vuole un maggiore controllo sul formato o sull'analisi o si vuole concedere agli utenti un maggiore controllo, è possibile provare a eseguire il cast dei NumberFormat
metodi della factory a un DecimalFormat
oggetto o CompactNumberFormat
a seconda del metodo factory usato. Questo funzionerà per la maggior parte delle impostazioni locali; ricordarsi di metterlo in un try
blocco nel caso in cui si incontra un insolito.
NumberFormat e DecimalFormat sono progettati in modo che alcuni controlli funzionino per la formattazione e altri funzionino per l'analisi. Di seguito è riportata la descrizione dettagliata per ognuno di questi metodi di controllo,
setParseIntegerOnly: influisce solo sull'analisi, ad esempio se true, "3456.78" → 3456 (e lascia la posizione di analisi subito dopo l'indice 6) se false, "3456.78" → 3456.78 (e lascia la posizione di analisi subito dopo l'indice 8) Questo è indipendente dalla formattazione. Se si desidera non visualizzare un separatore decimale in cui potrebbero non essere presenti cifre dopo il separatore decimale, usare setDecimalSeparatorAlwaysShown.
setDecimalSeparatorAlwaysShown: influisce solo sulla formattazione e solo dove potrebbero non essere presenti cifre dopo il separatore decimale, ad esempio con un criterio come "#,##0.##", ad esempio, se true, 3456.00 → "3,456." se false, 3456.00 → "3456" Questo è indipendente dall'analisi. Se si vuole arrestare l'analisi in corrispondenza del separatore decimale, usare setParseIntegerOnly.
È anche possibile utilizzare forme dei parse
metodi e format
con ParsePosition
e FieldPosition
per consentire l'analisi <progressiva di ul<>li attraverso parti di una stringa <li> allineare il separatore decimale e altre aree </ul>, ad esempio, è possibile allineare i numeri in due modi: <ol<>li>> Se si utilizza un tipo di carattere monospaced con spaziatura per l'allineamento, è possibile passare la FieldPosition
chiamata al formato, con field
= INTEGER_FIELD
. Nell'output getEndIndex
, verrà impostato sull'offset tra l'ultimo carattere dell'intero e il decimale. Aggiungere gli spazi (desiredSpaceCount - getEndIndex) nella parte anteriore della stringa.
<li> Se si usano tipi di carattere proporzionali, invece di riempimento con spazi, misurare la larghezza della stringa in pixel dall'inizio a getEndIndex
. Spostare quindi la penna in base a (desiredPixelWidth - widthToAlignmentPoint) prima di disegnare il testo. Funziona anche dove non è presente alcun separatore decimale, ma eventualmente caratteri aggiuntivi alla fine, ad esempio con parentesi in numeri negativi: "(12)" per -12. </olo>
<h2>"synchronization">Synchronization</h2>
I formati numerici in genere non vengono sincronizzati. È consigliabile creare istanze di formato separate per ogni thread. Se più thread accedono contemporaneamente a un formato, deve essere sincronizzato esternamente.
Aggiunta nella versione 1.1.
Documentazione java per java.text.NumberFormat
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
NumberFormat() |
Solo costruttore. |
NumberFormat(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Campi
FractionField |
Costante Field utilizzata per costruire un oggetto FieldPosition. |
IntegerField |
Costante Field utilizzata per costruire un oggetto FieldPosition. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Currency |
Ottiene la valuta utilizzata da questo formato numerico durante la formattazione dei valori di valuta. -oppure- Imposta la valuta utilizzata da questo formato numerico durante la formattazione dei valori di valuta. |
CurrencyInstance |
Restituisce un formato di valuta per le impostazioni locali predefinite |
GroupingUsed |
Restituisce true se il raggruppamento viene utilizzato in questo formato. -oppure- Impostare se il raggruppamento verrà usato o meno in questo formato. |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
Instance |
Restituisce un formato numerico per utilizzo generico per le impostazioni locali predefinite |
IntegerInstance |
Restituisce un formato di numero intero per le impostazioni locali predefinite |
JniIdentityHashCode |
|
JniPeerMembers |
|
MaximumFractionDigits |
Restituisce il numero massimo di cifre consentite nella parte frazionaria di un numero. -oppure- Imposta il numero massimo di cifre consentite nella parte frazionaria di un numero. |
MaximumIntegerDigits |
Restituisce il numero massimo di cifre consentite nella parte intera di un numero. -oppure- Imposta il numero massimo di cifre consentite nella parte intera di un numero. |
MinimumFractionDigits |
Restituisce il numero minimo di cifre consentite nella parte frazionaria di un numero. -oppure- Imposta il numero minimo di cifre consentite nella parte frazionaria di un numero. |
MinimumIntegerDigits |
Restituisce il numero minimo di cifre consentite nella parte integer di un numero. -oppure- Imposta il numero minimo di cifre consentite nella parte integer di un numero. |
NumberInstance |
Restituisce un formato numerico per utilizzo generico per le impostazioni locali predefinite |
ParseIntegerOnly |
Restituisce true se questo formato analizza i numeri solo come numeri interi. -oppure- Imposta se i numeri devono essere analizzati solo come numeri interi. |
PeerReference |
|
PercentInstance |
Restituisce un formato percentuale per le impostazioni locali predefinite |
RoundingMode |
Ottiene l'oggetto |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da _Format) |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
Format(Double) |
Specializzazione del formato. |
Format(Double, StringBuffer, FieldPosition) |
Specializzazione del formato. |
Format(Int64) |
Specializzazione del formato. |
Format(Int64, StringBuffer, FieldPosition) |
Specializzazione del formato. |
Format(Object) |
Formatta un oggetto per produrre una stringa. (Ereditato da _Format) |
Format(Object, StringBuffer, FieldPosition) |
Formatta un numero e accoda il testo risultante al buffer di stringa specificato. |
FormatToCharacterIterator(Object) |
Formatta un oggetto che produce un oggetto |
GetAvailableLocales() |
Restituisce un formato scientifico per le impostazioni locali predefinite correnti. |
GetCurrencyInstance(Locale) |
Restituisce un formato di valuta per le impostazioni locali specificate. |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
GetInstance(Locale) |
Restituisce un formato numerico per utilizzo generico per le impostazioni locali specificate. |
GetIntegerInstance(Locale) |
Restituisce un formato di numero intero per le impostazioni locali specificate. |
GetNumberInstance(Locale) |
Restituisce un formato numerico per utilizzo generico per le impostazioni locali specificate. |
GetPercentInstance(Locale) |
Restituisce un formato percentuale per le impostazioni locali specificate. |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
Parse(String) |
Analizza il testo dall'inizio della stringa specificata per produrre un numero. |
Parse(String, ParsePosition) |
Restituisce un valore Long se possibile (e. |
ParseObject(String) |
Analizza il testo dall'inizio della stringa specificata per produrre un oggetto . (Ereditato da _Format) |
ParseObject(String, ParsePosition) |
Analizza il testo da una stringa per produrre un oggetto |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
ToArray<T>() |
|
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
|
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|