Язык

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

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

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

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

CurrencyInstance

Возвращает формат валюты для текущего языкового стандарта по умолчанию java.util.Locale.Category#FORMAT FORMAT .

GroupingUsed

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

Handle

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

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

Возвращает формат номера общего назначения для текущего языкового стандарта по умолчанию java.util.Locale.Category#FORMAT FORMAT .

IntegerInstance

Возвращает целочисленный формат числа для текущего языкового стандарта по умолчанию java.util.Locale.Category#FORMAT FORMAT .

JniIdentityHashCode

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

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

MaximumFractionDigits

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

MaximumIntegerDigits

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

MinimumFractionDigits

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

MinimumIntegerDigits

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

NumberInstance

Возвращает формат номера общего назначения для текущего языкового стандарта по умолчанию java.util.Locale.Category#FORMAT FORMAT .

ParseIntegerOnly

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

PeerReference

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

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

Возвращает процентный формат для текущего языкового стандарта по умолчанию java.util.Locale.Category#FORMAT FORMAT .

RoundingMode

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

ThresholdClass

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

ThresholdType

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

Методы

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

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

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

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

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

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

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
Format(Double, StringBuffer, FieldPosition)

Специализация формата.

Format(Double)

Специализация формата.

Format(Int64, StringBuffer, FieldPosition)

Специализация формата.

Format(Int64)

Специализация формата.

Format(Object, StringBuffer, FieldPosition)

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

Format(Object)

Форматирует объект для создания строки.

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

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

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

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

ParseObject(String)

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

(Унаследовано от _Format)
SetHandle(IntPtr, JniHandleOwnership)

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

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

(Унаследовано от JavaObject)
ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

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

Возвращает строковое представление объекта.

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

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

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

Явные реализации интерфейса

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

NumberFormat — абстрактный базовый класс для всех форматов чисел.

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

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

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

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

NumberFormat — абстрактный базовый класс для всех форматов чисел.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

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