NumberFormat Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
NumberFormat — абстрактный базовый класс для всех форматов чисел.
[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
- Наследование
- Производный
- Атрибуты
Комментарии
NumberFormat — абстрактный базовый класс для всех форматов чисел. Этот класс предоставляет интерфейс для форматирования и синтаксического анализа чисел.
NumberFormat также предоставляет методы для определения форматов номеров языковых стандартов и их имен.
NumberFormat помогает отформатировать и проанализировать числа для любого языкового стандарта. Код может быть полностью не зависит от соглашений языкового стандарта для десятичных точек, разделителей тысяч или даже определенных десятичных цифр, используемых или даже десятичных форматов.
Чтобы отформатировать число для текущего языкового стандарта, используйте один из методов класса фабрики: <blockquote>
{@code
myString = NumberFormat.getInstance().format(myNumber);
}
</blockquote> , если вы форматируете несколько чисел, эффективнее получить формат и использовать его несколько раз, чтобы система не собиралась получать сведения о местных языках и соглашениях страны несколько раз. <blockquote>
{@code
NumberFormat nf = NumberFormat.getInstance();
for (int i = 0; i < myNumber.length; ++i) {
output.println(nf.format(myNumber[i]) + "; ");
}
}
</blockquote> Для форматирования номера для другого языкового стандарта укажите его в вызове getInstance.
<blockquote>
{@code
NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
}
</blockquote>
Если языковой стандарт содержит расширения Юникода nu (числа), десятичные цифры и (или) страна, используемая для форматирования, переопределяются.
Можно также использовать NumberFormat для синтаксического анализа чисел: <blockquote>
{@code
myNumber = nf.parse(myString);
}
</blockquote> Use getInstance или getNumberInstance get the normal number format. Используется getIntegerInstance для получения целочисленного формата чисел. Используется getCurrencyInstance для получения формата номера валют. Используется getCompactNumberInstance для создания компактного формата чисел для форматирования числа в более короткой форме. Например, 2000 можно отформатировать как "2K" в java.util.Locale#US US locale. Используется getPercentInstance для получения формата для отображения процентных значений. В этом формате дробь, например 0,53, отображается как 53%.
Вы также можете управлять отображением чисел с помощью таких методов, как setMinimumFractionDigits. Если вы хотите еще больше контроля над форматом или анализом или хотите предоставить пользователям больше управления, вы можете попробовать приведение NumberFormat методов фабрики к DecimalFormatCompactNumberFormat используемому методу или в зависимости от используемого метода фабрики. Это будет работать для подавляющего большинства языковых стандартов; просто не забудьте положить его в try блок в случае, если вы столкнулись с необычным.
NumberFormat и DecimalFormat предназначены таким образом, чтобы некоторые элементы управления работали для форматирования, а другие — для синтаксического анализа. Ниже приведено подробное описание каждого из этих методов управления.
setParseIntegerOnly: влияет только на синтаксический анализ, например, если true, "3456,78" → 3456 (и оставляет позицию синтаксического анализа сразу после индекса 6), если значение false, "3456,78" → 3456.78 (и оставляет позицию синтаксического анализа сразу после индекса 8) Это не зависит от форматирования. Если вы хотите не отображать десятичную точку, где после десятичной запятой может быть никаких цифр, используйте setDecimalSeparatorAlwaysShown.
setDecimalSeparatorAlwaysShown: влияет только на форматирование, и только в том случае, если после десятичной запятой могут быть цифры, такие как "#,#0.##", например, если значение true, 3456.00 → "3,456." Значение false, 3456.00 → "3456" Это не зависит от синтаксического анализа. Если вы хотите, чтобы синтаксический анализ остановился на десятичной точке, используйте setParseIntegerOnly.
Вы также можете использовать формы parse и format методы с ParsePositionFieldPosition помощью и разрешить: <ul><li постепенно проанализировать с помощью фрагментов строки >li<> выровнять десятичную точку и другие области </ul>, например, выровнять числа можно двумя способами: <ol><li>, если вы используете монопространственных шрифтов с интервалами для выравнивания, вы можете передать FieldPosition вызов формата. с field = INTEGER_FIELD. Для выходных данных getEndIndex задается смещение между последним символом целого числа и десятичным числом. Добавьте пробелы (desiredSpaceCount — getEndIndex) в начале строки.
<li> , если вы используете пропорциональные шрифты, а не заполнение пробелами, измеряйте ширину строки в пикселях от начала до getEndIndex. Затем переместите перо (desiredPixelWidth - widthToAlignmentPoint) перед рисованием текста. Он также работает, где нет десятичных знаков, но, возможно, дополнительные символы в конце, например с скобками в отрицательных числах: "(12)" для -12.
</Пр>
<h2>"синхронизация">Синхронизация</h2>
Форматы чисел обычно не синхронизированы. Рекомендуется создать отдельные экземпляры формата для каждого потока. Если несколько потоков одновременно обращаются к формату, он должен быть синхронизирован вневне.
Добавлено в версии 1.1.
Java документации по java.text.NumberFormat.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Конструкторы
| Имя. | Описание |
|---|---|
| NumberFormat() |
Конструктор единственного. |
| NumberFormat(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Поля
| Имя. | Описание |
|---|---|
| FractionField |
Константы полей, используемые для создания объекта FieldPosition. |
| IntegerField |
Константы полей, используемые для создания объекта FieldPosition. |
Свойства
| Имя. | Описание |
|---|---|
| Class |
Возвращает класс среды выполнения этого |
| Currency |
Возвращает валюту, используемую этим форматом чисел при форматировании значений валют. -или- задает валюту, используемую этим форматом чисел при форматировании значений валюты. |
| CurrencyInstance |
Возвращает формат валюты для текущего языкового стандарта по умолчанию |
| GroupingUsed |
Возвращает значение true, если группирование используется в этом формате. -или- Задайте, будет ли группирование использоваться в этом формате. |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| Instance |
Возвращает формат номера общего назначения для текущего языкового стандарта по умолчанию |
| IntegerInstance |
Возвращает целочисленный формат числа для текущего языкового стандарта по умолчанию |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| MaximumFractionDigits |
Возвращает максимальное число цифр, разрешенных в дробной части числа. -или- задает максимальное число цифр, разрешенных в дробной части числа. |
| MaximumIntegerDigits |
Возвращает максимальное число цифр, разрешенных в целочисленной части числа. -или- задает максимальное число цифр, разрешенных в целочисленной части числа. |
| MinimumFractionDigits |
Возвращает минимальное число цифр, разрешенных в дробной части числа. -или- задает минимальное число цифр, разрешенных в дробной части числа. |
| MinimumIntegerDigits |
Возвращает минимальное число цифр, разрешенных в целочисленной части числа. -или- задает минимальное число цифр, разрешенных в целочисленной части числа. |
| NumberInstance |
Возвращает формат номера общего назначения для текущего языкового стандарта по умолчанию |
| ParseIntegerOnly |
Возвращает значение true, если этот формат анализирует числа только в виде целых чисел. -или- Задает, следует ли анализировать числа только в виде целых чисел. |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| PercentInstance |
Возвращает процентный формат для текущего языкового стандарта по умолчанию |
| RoundingMode |
Возвращает используемый |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
| Имя. | Описание |
|---|---|
| Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от _Format) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| Format(Double, StringBuffer, FieldPosition) |
Специализация формата. |
| Format(Double) |
Специализация формата. |
| Format(Int64, StringBuffer, FieldPosition) |
Специализация формата. |
| Format(Int64) |
Специализация формата. |
| Format(Object, StringBuffer, FieldPosition) |
Форматирует число и добавляет полученный текст к заданному буферу строки. |
| Format(Object) |
Форматирует объект для создания строки. (Унаследовано от _Format) |
| FormatToCharacterIterator(Object) |
Форматирует объект, создающий |
| GetAvailableLocales() |
Возвращает научный формат для текущего языкового стандарта по умолчанию. |
| GetCurrencyInstance(Locale) |
Возвращает формат валюты для указанного языкового стандарта. |
| GetHashCode() |
Возвращает хэш-значение кода для объекта. (Унаследовано от Object) |
| GetInstance(Locale) |
Возвращает формат номера общего назначения для указанного языкового стандарта. |
| GetIntegerInstance(Locale) |
Возвращает целочисленный формат числа для указанного языкового стандарта. |
| GetNumberInstance(Locale) |
Возвращает формат номера общего назначения для указанного языкового стандарта. |
| GetPercentInstance(Locale) |
Возвращает процентный формат для указанного языкового стандарта. |
| JavaFinalize() |
Устаревшие.
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
| Notify() |
Просыпается один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| Parse(String, ParsePosition) |
Возвращает длину, если это возможно (e). |
| Parse(String) |
Анализирует текст с начала заданной строки, чтобы создать число. |
| ParseObject(String, ParsePosition) |
Анализирует текст из строки для создания |
| ParseObject(String) |
Анализирует текст с начала заданной строки для создания объекта. (Унаследовано от _Format) |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.> (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя. | Описание |
|---|---|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
Методы расширения
| Имя. | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |