ChoiceFormat 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.
Un ChoiceFormat oggetto consente di associare un formato a un intervallo di numeri.
[Android.Runtime.Register("java/text/ChoiceFormat", DoNotGenerateAcw=true)]
public class ChoiceFormat : Java.Text.NumberFormat
[<Android.Runtime.Register("java/text/ChoiceFormat", DoNotGenerateAcw=true)>]
type ChoiceFormat = class
inherit NumberFormat
- Ereditarietà
- Attributi
Commenti
Un ChoiceFormat oggetto consente di associare un formato a un intervallo di numeri. In genere viene usato in un MessageFormat oggetto per la gestione dei plurali. La scelta viene specificata con un elenco crescente di valori double, in cui ogni elemento specifica un intervallo di mezza apertura fino all'elemento successivo: <blockquote>
X matches j if and only if limit[j] ≤ X < limit[j+1]
</blockquote> Se non esiste alcuna corrispondenza, viene usato il primo o l'ultimo indice, a seconda che il numero (X) sia troppo basso o troppo alto. Se la matrice di limiti non è in ordine crescente, i risultati della formattazione non saranno corretti. ChoiceFormat accetta \u221E anche come equivalente a infinity(INF).
<nota forte>:</strong>ChoiceFormat differisce dalle altre Format classi in quanto si crea un ChoiceFormat oggetto con un costruttore (non con un getInstance metodo factory di stile). I metodi factory non sono necessari perché ChoiceFormat non richiede alcuna configurazione complessa per una determinata impostazione locale. Infatti, ChoiceFormat non implementa alcun comportamento specifico delle impostazioni locali.
Quando si crea un ChoiceFormatoggetto , è necessario specificare una matrice di formati e una matrice di limiti. La lunghezza di queste matrici deve essere la stessa. Ad esempio, <ul><li><em>limits</em> = {1,2,3,4,5,6,7}<br><em>formats</em> = {"Sun","Mon","Tue","Wed","Fri","Sat"}<li><em>limits</em> = {0, 1, ChoiceFormat.nextDouble(1)}<br><em>formats</em> = {"no files", "one file", "many files"}<br> (nextDouble può essere usato per ottenere il doppio superiore successivo, per fare l'intervallo di mezza apertura). </ul>
Ecco un semplice esempio che mostra la formattazione e l'analisi: <blockquote>
{@code
double[] limits = {1,2,3,4,5,6,7};
String[] dayOfWeekNames = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"};
ChoiceFormat form = new ChoiceFormat(limits, dayOfWeekNames);
ParsePosition status = new ParsePosition(0);
for (double i = 0.0; i <= 8.0; ++i) {
status.setIndex(0);
System.out.println(i + " -> " + form.format(i) + " -> "
+ form.parse(form.format(i),status));
}
}
</blockquote> Ecco un esempio più complesso, con un formato di criterio: <blockquote>
{@code
double[] filelimits = {0,1,2};
String[] filepart = {"are no files","is one file","are {2} files"};
ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
Format[] testFormats = {fileform, null, NumberFormat.getInstance()};
MessageFormat pattform = new MessageFormat("There {0} on {1}");
pattform.setFormats(testFormats);
Object[] testArgs = {null, "ADisk", null};
for (int i = 0; i < 4; ++i) {
testArgs[0] = new Integer(i);
testArgs[2] = testArgs[0];
System.out.println(pattform.format(testArgs));
}
}
</blockquote>
Specificare un modello per gli oggetti ChoiceFormat è piuttosto semplice. Ad esempio: <blockquote>
{@code
ChoiceFormat fmt = new ChoiceFormat(
"-1#is negative| 0#is zero or fraction | 1#is one |1.0<is 1+ |2#is two |2<is more than 2.");
System.out.println("Formatter Pattern : " + fmt.toPattern());
System.out.println("Format with -INF : " + fmt.format(Double.NEGATIVE_INFINITY));
System.out.println("Format with -1.0 : " + fmt.format(-1.0));
System.out.println("Format with 0 : " + fmt.format(0));
System.out.println("Format with 0.9 : " + fmt.format(0.9));
System.out.println("Format with 1.0 : " + fmt.format(1));
System.out.println("Format with 1.5 : " + fmt.format(1.5));
System.out.println("Format with 2 : " + fmt.format(2));
System.out.println("Format with 2.1 : " + fmt.format(2.1));
System.out.println("Format with NaN : " + fmt.format(Double.NaN));
System.out.println("Format with +INF : " + fmt.format(Double.POSITIVE_INFINITY));
}
</blockquote> E il risultato dell'output sarà simile al seguente: <blockquote>
{@code
Format with -INF : is negative
Format with -1.0 : is negative
Format with 0 : is zero or fraction
Format with 0.9 : is zero or fraction
Format with 1.0 : is one
Format with 1.5 : is 1+
Format with 2 : is two
Format with 2.1 : is more than 2.
Format with NaN : is negative
Format with +INF : is more than 2.
}
</blockquote>
<h2>"synchronization">Synchronization</h2>
I formati di scelta 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.ChoiceFormat.
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
| Nome | Descrizione |
|---|---|
| ChoiceFormat(Double[], String[]) |
Costruisce con i limiti e i formati corrispondenti. |
| ChoiceFormat(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
| ChoiceFormat(String) |
Costruisce con limiti e formati corrispondenti in base al modello. |
Campi
| Nome | Descrizione |
|---|---|
| FractionField |
Costante Field utilizzata per costruire un oggetto FieldPosition. (Ereditato da NumberFormat) |
| IntegerField |
Costante Field utilizzata per costruire un oggetto FieldPosition. (Ereditato da NumberFormat) |
Proprietà
| Nome | Descrizione |
|---|---|
| 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. (Ereditato da NumberFormat) |
| GroupingUsed |
Restituisce true se il raggruppamento viene utilizzato in questo formato. -oppure- Impostare se il raggruppamento verrà usato o meno in questo formato. (Ereditato da NumberFormat) |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
Un |
| JniPeerMembers |
Un |
| 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. (Ereditato da NumberFormat) |
| 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. (Ereditato da NumberFormat) |
| 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. (Ereditato da NumberFormat) |
| 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. (Ereditato da NumberFormat) |
| 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. (Ereditato da NumberFormat) |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| 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
| Nome | Descrizione |
|---|---|
| ApplyPattern(String) |
Imposta il modello. |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da _Format) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Un |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| DisposeUnlessReferenced() |
Un |
| Equals(Object) |
Un |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| Format(Double, StringBuffer, FieldPosition) |
Restituisce un modello con formato double formattato. |
| Format(Double) |
Specializzazione del formato. (Ereditato da NumberFormat) |
| Format(Int64, StringBuffer, FieldPosition) |
Specializzazione del formato. |
| Format(Int64) |
Specializzazione del formato. (Ereditato da NumberFormat) |
| Format(Object, StringBuffer, FieldPosition) |
Formatta un numero e accoda il testo risultante al buffer di stringa specificato. (Ereditato da NumberFormat) |
| Format(Object) |
Formatta un oggetto per produrre una stringa. (Ereditato da _Format) |
| FormatToCharacterIterator(Object) |
Formatta un oggetto che produce un oggetto |
| GetFormats() |
Restituisce le stringhe associate agli intervalli di questo |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| GetLimits() |
Restituisce i limiti di questo |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| NextDouble(Double, Boolean) |
Trova il valore minimo doppio maggiore di |
| NextDouble(Double) |
Trova il valore minimo doppio maggiore di |
| 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, ParsePosition) |
Analizza un numero dal testo di input. |
| Parse(String) |
Analizza il testo dall'inizio della stringa specificata per produrre un numero. (Ereditato da NumberFormat) |
| ParseObject(String, ParsePosition) |
Analizza il testo da una stringa per produrre un oggetto |
| ParseObject(String) |
Analizza il testo dall'inizio della stringa specificata per produrre un oggetto . (Ereditato da _Format) |
| PreviousDouble(Double) |
Trova il doppio maggiore minore di |
| SetChoices(Double[], String[]) |
Impostare le opzioni da utilizzare nella formattazione. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Un |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToPattern() |
Ottiene il modello. |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (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, 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) |
| 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) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Un |
| IJavaPeerable.Finalized() |
Un |
| IJavaPeerable.JniObjectReferenceControlBlock |
Un |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Un |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Un |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Un |
| IJavaPeerable.UnregisterFromRuntime() |
Un |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Un |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |