Condividi tramite


NumberFormat Classe

Definizione

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à
NumberFormat
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 Objectoggetto .

(Ereditato da Object)
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 java.util.Locale.Category#FORMAT FORMAT correnti.

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 java.util.Locale.Category#FORMAT FORMAT correnti.

IntegerInstance

Restituisce un formato di numero intero per le impostazioni locali predefinite java.util.Locale.Category#FORMAT FORMAT correnti.

JniIdentityHashCode

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
JniPeerMembers

NumberFormat è la classe base astratta per tutti i formati numerici.

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 java.util.Locale.Category#FORMAT FORMAT correnti.

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

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
PercentInstance

Restituisce un formato percentuale per le impostazioni locali predefinite java.util.Locale.Category#FORMAT FORMAT correnti.

RoundingMode

Ottiene l'oggetto java.math.RoundingMode utilizzato in questo oggetto NumberFormat. -oppure- Imposta l'oggetto java.math.RoundingMode utilizzato in questo oggetto NumberFormat.

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()

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
Dispose(Boolean)

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
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 AttributedCharacterIterator.

(Ereditato da _Format)
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 Number.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
ToArray<T>()

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
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()

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
IJavaPeerable.Finalized()

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

NumberFormat è la classe base astratta per tutti i formati numerici.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

NumberFormat è la classe base astratta per tutti i formati numerici.

GetJniTypeName(IJavaPeerable)

NumberFormat è la classe base astratta per tutti i formati numerici.

Si applica a