Поделиться через


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 также предоставляет методы для определения форматов номеров языковых стандартов и их имен.

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 методы с FieldPositionParsePosition помощью и разрешить: <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.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

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

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

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

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

MaximumFractionDigits

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

MaximumIntegerDigits

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

MinimumFractionDigits

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

MinimumIntegerDigits

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

NumberInstance

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

ParseIntegerOnly

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

PeerReference

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

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

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

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

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

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

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

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

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

Format(Double, StringBuffer, FieldPosition)

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

Format(Int64)

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

Format(Int64, StringBuffer, FieldPosition)

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

Format(Object)

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

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

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

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)

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

Parse(String, ParsePosition)

Возвращает длину, если это возможно (e).

ParseObject(String)

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

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

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

SetHandle(IntPtr, JniHandleOwnership)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IJavaPeerable.Disposed()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

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