ChoiceFormat Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
A ChoiceFormat позволяет прикрепить формат к диапазону чисел.
[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
- Наследование
- Атрибуты
Комментарии
A ChoiceFormat позволяет прикрепить формат к диапазону чисел. Обычно он используется в MessageFormat обработке множественного числа. Выбор указан в списке двойных значений по возрастанию, где каждый элемент задает полуоткрытый интервал до следующего элемента: <blockquote>
X matches j if and only if limit[j] ≤ X < limit[j+1]
</blockquote> , если совпадения нет, используется первый или последний индекс в зависимости от того, слишком низкое или слишком большое число (X). Если массив ограничений не находится в порядке возрастания, результаты форматирования будут неверными. ChoiceFormat также принимает \u221E как эквивалент бесконечности (INF).
<strong>Note:</strong>ChoiceFormat отличается от других Format классов, в том, что вы создаете ChoiceFormat объект с конструктором (не с методом фабрики стилей getInstance ). Методы фабрики не требуются, так как ChoiceFormat для заданного языкового стандарта не требуется сложная настройка. На самом деле, ChoiceFormat не реализует какое-либо конкретное поведение языкового стандарта.
При создании ChoiceFormatнеобходимо указать массив форматов и массив ограничений. Длина этих массивов должна совпадать. Например, <ul><li em><>limits</>em = {1,2,3,4,5,6,7}<br><>форматы</em> = {"Sun", "Mon","Tue","Wed","Thur", "Fri","Sat<"li><>limits</em> = {0, 1, ChoiceFormat.nextDouble(1)}<br em>формат</em> = {"нет файлов", "один файл", "многие файлы"}<br><> (nextDouble можно использовать для получения следующего более высокого двойного значения, чтобы сделать половину открытого интервала.) </ul>
Ниже приведен простой пример форматирования и синтаксического анализа: <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 Вот более сложный пример с форматом шаблона: >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>
Указание шаблона для объектов ChoiceFormat довольно просто. Например: <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 И результат выходных данных будет следующим: >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>"синхронизация">Синхронизация</h2>
Форматы выбора не синхронизированы. Рекомендуется создать отдельные экземпляры формата для каждого потока. Если несколько потоков одновременно обращаются к формату, он должен быть синхронизирован вневне.
Добавлено в версии 1.1.
Java документации по java.text.ChoiceFormat.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Конструкторы
| Имя. | Описание |
|---|---|
| ChoiceFormat(Double[], String[]) |
Конструкции с ограничениями и соответствующими форматами. |
| ChoiceFormat(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
| ChoiceFormat(String) |
Конструкции с ограничениями и соответствующими форматами на основе шаблона. |
Поля
| Имя. | Описание |
|---|---|
| FractionField |
Константы полей, используемые для создания объекта FieldPosition. (Унаследовано от NumberFormat) |
| IntegerField |
Константы полей, используемые для создания объекта FieldPosition. (Унаследовано от NumberFormat) |
Свойства
| Имя. | Описание |
|---|---|
| Class |
Возвращает класс среды выполнения этого |
| Currency |
Возвращает валюту, используемую этим форматом чисел при форматировании значений валют. -или- задает валюту, используемую этим форматом чисел при форматировании значений валюты. (Унаследовано от NumberFormat) |
| GroupingUsed |
Возвращает значение true, если группирование используется в этом формате. -или- Задайте, будет ли группирование использоваться в этом формате. (Унаследовано от NumberFormat) |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
A |
| JniPeerMembers |
A |
| MaximumFractionDigits |
Возвращает максимальное число цифр, разрешенных в дробной части числа. -или- задает максимальное число цифр, разрешенных в дробной части числа. (Унаследовано от NumberFormat) |
| MaximumIntegerDigits |
Возвращает максимальное число цифр, разрешенных в целочисленной части числа. -или- задает максимальное число цифр, разрешенных в целочисленной части числа. (Унаследовано от NumberFormat) |
| MinimumFractionDigits |
Возвращает минимальное число цифр, разрешенных в дробной части числа. -или- задает минимальное число цифр, разрешенных в дробной части числа. (Унаследовано от NumberFormat) |
| MinimumIntegerDigits |
Возвращает минимальное число цифр, разрешенных в целочисленной части числа. -или- задает минимальное число цифр, разрешенных в целочисленной части числа. (Унаследовано от NumberFormat) |
| ParseIntegerOnly |
Возвращает значение true, если этот формат анализирует числа только в виде целых чисел. -или- Задает, следует ли анализировать числа только в виде целых чисел. (Унаследовано от NumberFormat) |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| RoundingMode |
Возвращает используемый |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
| Имя. | Описание |
|---|---|
| ApplyPattern(String) |
Задает шаблон. |
| Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от _Format) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
A |
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
A |
| Equals(Object) |
A |
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| Format(Double, StringBuffer, FieldPosition) |
Возвращает шаблон с отформатированным двойным. |
| Format(Double) |
Специализация формата. (Унаследовано от NumberFormat) |
| Format(Int64, StringBuffer, FieldPosition) |
Специализация формата. |
| Format(Int64) |
Специализация формата. (Унаследовано от NumberFormat) |
| Format(Object, StringBuffer, FieldPosition) |
Форматирует число и добавляет полученный текст к заданному буферу строки. (Унаследовано от NumberFormat) |
| Format(Object) |
Форматирует объект для создания строки. (Унаследовано от _Format) |
| FormatToCharacterIterator(Object) |
Форматирует объект, создающий |
| GetFormats() |
Возвращает строки, связанные с диапазонами этого |
| GetHashCode() |
Возвращает хэш-значение кода для объекта. (Унаследовано от Object) |
| GetLimits() |
Возвращает ограничения этого |
| JavaFinalize() |
Устаревшие.
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
| NextDouble(Double, Boolean) |
Находит наименьшее число больше |
| NextDouble(Double) |
Находит наименьшее число больше |
| Notify() |
Просыпается один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| Parse(String, ParsePosition) |
Анализирует число из входного текста. |
| Parse(String) |
Анализирует текст с начала заданной строки, чтобы создать число. (Унаследовано от NumberFormat) |
| ParseObject(String, ParsePosition) |
Анализирует текст из строки для создания |
| ParseObject(String) |
Анализирует текст с начала заданной строки для создания объекта. (Унаследовано от _Format) |
| PreviousDouble(Double) |
Находит наибольшее значение в два раза меньше |
| SetChoices(Double[], String[]) |
Задайте варианты, которые будут использоваться в форматировании. |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
A |
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToPattern() |
Возвращает шаблон. |
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.> (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя. | Описание |
|---|---|
| IJavaPeerable.Disposed() |
A |
| IJavaPeerable.Finalized() |
A |
| IJavaPeerable.JniObjectReferenceControlBlock |
A |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
A |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
A |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
A |
| IJavaPeerable.UnregisterFromRuntime() |
A |
Методы расширения
| Имя. | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
A |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |