ChoiceFormat Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Un ChoiceFormat permite adjuntar un formato a un intervalo de números.
[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
- Herencia
- Atributos
Comentarios
Un ChoiceFormat permite adjuntar un formato a un intervalo de números. Por lo general, se usa en para MessageFormat controlar plurales. La opción se especifica con una lista ascendente de dobles, donde cada elemento especifica un intervalo medio abierto hasta el siguiente elemento: <blockquote>
X matches j if and only if limit[j] ≤ X < limit[j+1]
</blockquote> Si no hay ninguna coincidencia, se usa el primer o el último índice, en función de si el número (X) es demasiado bajo o demasiado alto. Si la matriz de límites no está en orden ascendente, los resultados del formato serán incorrectos. ChoiceFormat también acepta \u221E como equivalente a infinity(INF).
<strong>Note:</strong>ChoiceFormat difiere de las otras Format clases de que se crea un ChoiceFormat objeto con un constructor (no con un getInstance método de generador de estilo). Los métodos de fábrica no son necesarios porque ChoiceFormat no requiere ninguna configuración compleja para una configuración regional determinada. De hecho, ChoiceFormat no implementa ningún comportamiento específico de la configuración regional.
Al crear un ChoiceFormat, debe especificar una matriz de formatos y una matriz de límites. La longitud de estas matrices debe ser la misma. Por ejemplo, <ul><li><em>limits</em> = {1,2,3,4,5,6,7}<br><em>formats</em> = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"}<li><em>limits</em> = {0, 1, ChoiceFormat.nextDouble(1)}<br><em>formats</em> = {"no files", "one file", "many files"}<br> (nextDouble can be used to get the next higher double, to make the half-open interval.) </ul>
Este es un ejemplo sencillo que muestra el formato y el análisis: <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> Este es un ejemplo más complejo, con un formato de patrón: <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>
Especificar un patrón para los objetos ChoiceFormat es bastante sencillo. Por ejemplo: <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> Y el resultado de salida sería similar al siguiente: <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>
Los formatos de elección no se sincronizan. Se recomienda crear instancias de formato independientes para cada subproceso. Si varios subprocesos acceden a un formato simultáneamente, debe sincronizarse externamente.
Agregado en la versión 1.1.
Java documentación para java.text.ChoiceFormat.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| ChoiceFormat(Double[], String[]) |
Construye con los límites y los formatos correspondientes. |
| ChoiceFormat(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
| ChoiceFormat(String) |
Construye con límites y formatos correspondientes en función del patrón. |
Campos
| Nombre | Description |
|---|---|
| FractionField |
Constante de campo utilizada para construir un objeto FieldPosition. (Heredado de NumberFormat) |
| IntegerField |
Constante de campo utilizada para construir un objeto FieldPosition. (Heredado de NumberFormat) |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Currency |
Obtiene la moneda usada por este formato de número al dar formato a los valores de moneda. -o bien- Establece la moneda utilizada por este formato numérico al dar formato a los valores de moneda. (Heredado de NumberFormat) |
| GroupingUsed |
Devuelve true si la agrupación se usa en este formato. -o bien- Establecer si se usará o no la agrupación en este formato. (Heredado de NumberFormat) |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Un |
| JniPeerMembers |
Un |
| MaximumFractionDigits |
Devuelve el número máximo de dígitos permitidos en la parte de fracción de un número. -o bien- Establece el número máximo de dígitos permitidos en la parte de fracción de un número. (Heredado de NumberFormat) |
| MaximumIntegerDigits |
Devuelve el número máximo de dígitos permitidos en la parte entera de un número. -o bien- Establece el número máximo de dígitos permitidos en la parte entera de un número. (Heredado de NumberFormat) |
| MinimumFractionDigits |
Devuelve el número mínimo de dígitos permitidos en la parte de fracción de un número. -o bien- Establece el número mínimo de dígitos permitidos en la parte de fracción de un número. (Heredado de NumberFormat) |
| MinimumIntegerDigits |
Devuelve el número mínimo de dígitos permitidos en la parte entera de un número. -o bien- Establece el número mínimo de dígitos permitidos en la parte entera de un número. (Heredado de NumberFormat) |
| ParseIntegerOnly |
Devuelve true si este formato analizará los números solo como enteros. -o bien- Establece si los números deben analizarse como enteros únicamente. (Heredado de NumberFormat) |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| RoundingMode |
Obtiene el objeto |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
| Nombre | Description |
|---|---|
| ApplyPattern(String) |
Establece el patrón. |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de _Format) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Un |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Un |
| Equals(Object) |
Un |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| Format(Double, StringBuffer, FieldPosition) |
Devuelve el patrón con formato double. |
| Format(Double) |
Especialización del formato. (Heredado de NumberFormat) |
| Format(Int64, StringBuffer, FieldPosition) |
Especialización del formato. |
| Format(Int64) |
Especialización del formato. (Heredado de NumberFormat) |
| Format(Object, StringBuffer, FieldPosition) |
Da formato a un número y anexa el texto resultante al búfer de cadena especificado. (Heredado de NumberFormat) |
| Format(Object) |
Da formato a un objeto para generar una cadena. (Heredado de _Format) |
| FormatToCharacterIterator(Object) |
Da formato a un objeto que genera un |
| GetFormats() |
Devuelve las cadenas asociadas a los intervalos de este |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| GetLimits() |
Devuelve los límites de este |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| NextDouble(Double, Boolean) |
Busca el menor doble mayor que |
| NextDouble(Double) |
Busca el menor doble mayor que |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| Parse(String, ParsePosition) |
Analiza un número del texto de entrada. |
| Parse(String) |
Analiza el texto desde el principio de la cadena especificada para generar un número. (Heredado de NumberFormat) |
| ParseObject(String, ParsePosition) |
Analiza el texto de una cadena para generar un |
| ParseObject(String) |
Analiza el texto desde el principio de la cadena especificada para generar un objeto . (Heredado de _Format) |
| PreviousDouble(Double) |
Encuentra el doble más grande menor que |
| SetChoices(Double[], String[]) |
Establezca las opciones que se usarán en el formato. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Un |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToPattern() |
Obtiene el patrón. |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Un |
| IJavaPeerable.Finalized() |
Un |
| IJavaPeerable.JniObjectReferenceControlBlock |
Un |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Un |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Un |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Un |
| IJavaPeerable.UnregisterFromRuntime() |
Un |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Un |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |