Язык

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] &le; X &lt; limit[j+1]

</blockquote> , если совпадения нет, используется первый или последний индекс в зависимости от того, слишком низкое или слишком большое число (X). Если массив ограничений не находится в порядке возрастания, результаты форматирования будут неверными. ChoiceFormat также принимает &#92;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

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Currency

Возвращает валюту, используемую этим форматом чисел при форматировании значений валют. -или- задает валюту, используемую этим форматом чисел при форматировании значений валюты.

(Унаследовано от NumberFormat)
GroupingUsed

Возвращает значение true, если группирование используется в этом формате. -или- Задайте, будет ли группирование использоваться в этом формате.

(Унаследовано от NumberFormat)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
JniPeerMembers

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

MaximumFractionDigits

Возвращает максимальное число цифр, разрешенных в дробной части числа. -или- задает максимальное число цифр, разрешенных в дробной части числа.

(Унаследовано от NumberFormat)
MaximumIntegerDigits

Возвращает максимальное число цифр, разрешенных в целочисленной части числа. -или- задает максимальное число цифр, разрешенных в целочисленной части числа.

(Унаследовано от NumberFormat)
MinimumFractionDigits

Возвращает минимальное число цифр, разрешенных в дробной части числа. -или- задает минимальное число цифр, разрешенных в дробной части числа.

(Унаследовано от NumberFormat)
MinimumIntegerDigits

Возвращает минимальное число цифр, разрешенных в целочисленной части числа. -или- задает минимальное число цифр, разрешенных в целочисленной части числа.

(Унаследовано от NumberFormat)
ParseIntegerOnly

Возвращает значение true, если этот формат анализирует числа только в виде целых чисел. -или- Задает, следует ли анализировать числа только в виде целых чисел.

(Унаследовано от NumberFormat)
PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
RoundingMode

Возвращает используемый java.math.RoundingMode в этом numberFormat. -или- Задает используемый java.math.RoundingMode в этом номереFormat.

(Унаследовано от NumberFormat)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя. Описание
ApplyPattern(String)

Задает шаблон.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от _Format)
Construct(JniObjectReference, JniObjectReferenceOptions)

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
Equals(Object)

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
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)

Форматирует объект, создающий AttributedCharacterIteratorобъект.

(Унаследовано от _Format)
GetFormats()

Возвращает строки, связанные с диапазонами этого ChoiceFormat.

GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
GetLimits()

Возвращает ограничения этого ChoiceFormat.

JavaFinalize()
Устаревшие.

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
NextDouble(Double, Boolean)

Находит наименьшее число больше d (если positive имеется true) или наибольшее число меньше d (если positive имеется false).

NextDouble(Double)

Находит наименьшее число больше d.

Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
Parse(String, ParsePosition)

Анализирует число из входного текста.

Parse(String)

Анализирует текст с начала заданной строки, чтобы создать число.

(Унаследовано от NumberFormat)
ParseObject(String, ParsePosition)

Анализирует текст из строки для создания Number.

(Унаследовано от NumberFormat)
ParseObject(String)

Анализирует текст с начала заданной строки для создания объекта.

(Унаследовано от _Format)
PreviousDouble(Double)

Находит наибольшее значение в два раза меньше d.

SetChoices(Double[], String[])

Задайте варианты, которые будут использоваться в форматировании.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
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 ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

(Унаследовано от _Format)

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

A ChoiceFormat позволяет прикрепить формат к диапазону чисел.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к