Spec-Zone.ru › OpenJDK 8

Класс DecimalFormat

  • java.lang.Object
    • java.text.Format
      • java.text.NumberFormat
        • java.text.DecimalFormat
Все реализованные интерфейсы:
Serializable, Cloneable

public class DecimalFormat
extends NumberFormat

DecimalFormat — это конкретный подкласс NumberFormat, который форматирует десятичные числа. Он обладает различными функциями, предназначенными для возможности анализа и форматирования чисел в любом регионе, включая поддержку западных, арабских и индийских цифр. Он также поддерживает различные типы чисел, включая целые числа (123), числа с фиксированной точкой (123.4), научную запись (1.23E4), проценты (12%) и денежные суммы ($123). Все это может быть локализовано.

Чтобы получить NumberFormat для определенного региона, включая региональные настройки по умолчанию, вызовите один из методов фабрики NumberFormat, таких как getInstance(). В общем случае, не вызывайте напрямую конструкторы DecimalFormat, так как методы фабрики NumberFormat могут возвращать подклассы, отличные от DecimalFormat. Если вам нужно настроить объект форматирования, выполните что-то вроде этого:

NumberFormat f = NumberFormat.getInstance(loc);
if (f instanceof DecimalFormat) {
    ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
}

Формат DecimalFormat состоит из шаблона и набора символов. Шаблон может быть задан напрямую с помощью applyPattern(), или косвенно с помощью методов API. Символы хранятся в объекте DecimalFormatSymbols. При использовании методов фабрики NumberFormat шаблон и символы читаются из локализованных ResourceBundle.

Шаблоны

DecimalFormat шаблоны имеют следующий синтаксис:
Pattern:
        PositivePattern
        PositivePattern ; NegativePattern
PositivePattern:
        Prefixopt Number Suffixopt
NegativePattern:
        Prefixopt Number Suffixopt
Prefix:
        any Unicode characters except \uFFFE, \uFFFF, and special characters
Suffix:
        any Unicode characters except \uFFFE, \uFFFF, and special characters
Number:
        Integer Exponentopt
        Integer . Fraction Exponentopt
Integer:
        MinimumInteger
        #
        # Integer
        # , Integer
MinimumInteger:
        0
        0 MinimumInteger
        0 , MinimumInteger
Fraction:
        MinimumFractionopt OptionalFractionopt
MinimumFraction:
        0 MinimumFractionopt
OptionalFraction:
        # OptionalFractionopt
Exponent:
        E MinimumExponent
MinimumExponent:
        0 MinimumExponentopt

Шаблон DecimalFormat содержит положительный и отрицательный подшаблон, например, "#,##0.00;(#,##0.00)". Каждый подшаблон имеет префикс, числовую часть и суффикс. Отрицательный подшаблон необязателен; если он отсутствует, то положительный подшаблон с локализованным знаком минус ('-' в большинстве регионов) используется в качестве отрицательного подшаблона. То есть, "0.00" эквивалентно "0.00;-0.00". Если есть явный отрицательный подшаблон, он служит только для указания отрицательного префикса и суффикса; количество цифр, минимальное количество цифр и другие характеристики — такие же, как у положительного шаблона. Это означает, что "#,##0.0#;(#)" обеспечивает точно такой же результат, как "#,##0.0#;(#,##0.0#)".

Префиксы, суффиксы и различные символы, используемые для бесконечности, цифр, разделителей тысяч, разделителей десятичных знаков и т. д., могут быть заданы произвольными значениями, и они будут правильно отображаться во время форматирования. Однако необходимо соблюдать осторожность, чтобы символы и строки не вступали в конфликт, иначе анализ будет ненадежным. Например, либо положительные, либо отрицательные префиксы или суффиксы должны отличаться, чтобы DecimalFormat.parse() мог различать положительные и отрицательные значения. (Если они идентичны, то DecimalFormat будет вести себя так, как будто отрицательный подшаблон не был указан.) Другой пример — разделитель десятичных знаков и разделитель тысяч должны быть различными символами, иначе анализ будет невозможен.

Разделитель группировки обычно используется для тысяч, но в некоторых странах он разделяет десятки тысяч. Размер группировки — это постоянное количество цифр между символами группировки, например, 3 для 100 000 000 или 4 для 1 0000 0000. Если вы предоставите шаблон с несколькими символами группировки, интервал между последним из них и концом целой части будет тем, который используется. Таким образом, "#,##,###,####" == "######,####" == "##,####,####".

Специальные символы шаблона

Многие символы в шаблоне интерпретируются буквально; они сопоставляются во время анализа и выводятся без изменений во время форматирования. Специальные символы, с другой стороны, представляют собой другие символы, строки или классы символов. Они должны быть заключены в кавычки, если они должны появиться в префиксе или суффиксе как литералы.

Перечисленные здесь символы используются в шаблонах без локализации. Локализованные шаблоны используют соответствующие символы из объекта DecimalFormatSymbols этого форматировщика вместо них, и эти символы теряют свой специальный статус. Два исключения — знак валюты и кавычки, которые не локализованы.

Символ Позиция Локализован? Значение
0 Число Да Цифра
# Число Да Цифра, ноль отображается как отсутствующий
. Число Да Десятичный разделитель или разделитель десятичных знаков валюты
- Число Да Знак минус
, Число Да Разделитель группировки
E Число Да Разделяет мантиссу и показатель степени в научной записи. Необязательно заключать в кавычки в префиксе или суффиксе.
; Граница подшаблона Да Разделяет положительные и отрицательные подшаблоны
% Префикс или суффикс Да Умножить на 100 и показать как процент
\u2030 Префикс или суффикс Да Умножить на 1000 и показать как промилле
¤ (\u00A4) Префикс или суффикс Нет Знак валюты, заменяется символом валюты. Если удвоено, заменяется международным символом валюты. Если присутствует в шаблоне, используется разделитель десятичных знаков валюты вместо разделителя десятичных знаков.
' Префикс или суффикс Нет Используется для заключения в кавычки специальных символов в префиксе или суффиксе, например, "'#'#" форматирует 123 в "#123". Чтобы создать сам одиночный апостроф, используйте два подряд: "# o''clock".

Научная запись

Числа в научной записи выражаются как произведение мантиссы и степени десяти, например, 1234 можно выразить как 1.234 × 103. Мантисса часто находится в диапазоне 1.0 ≤ x < 10.0, но не обязательно. DecimalFormat можно настроить на форматирование и анализ научной записи только через шаблон; в настоящее время нет метода фабрики, который создает формат научной записи. В шаблоне символ показателя степени, за которым следуют одна или несколько цифр, указывает на научную запись. Пример: "0.###E0" форматирует число 1234 как "1.234E3".

  • Количество символов цифр после символа показателя степени задаёт минимальное количество цифр показателя степени. Максимальное количество не ограничено. Отрицательные показатели степени форматируются с помощью локализованного знака минус, а не префикса и суффикса из шаблона. Это позволяет использовать шаблоны, такие как "0.###E0 m/s".
  • Минимальное и максимальное количество целых цифр интерпретируются вместе:
    • Если максимальное количество целых цифр больше их минимального количества и больше 1, это заставляет показатель степени быть кратным максимальному количеству целых цифр, а минимальное количество целых цифр интерпретируется как 1. Наиболее распространённое использование этого — создание инженерной записи, в которой показатель степени кратен трём, например, "##0.#####E0". Используя этот шаблон, число 12345 форматируется как "12.345E3", а 123456 форматируется как "123.456E3".
    • В противном случае минимальное количество целых цифр достигается путём корректировки показателя степени. Пример: 0.00123, отформатированный с "00.###E0" даёт "12.3E-4".
  • Количество значащих цифр в мантиссе равно сумме минимального количества целых цифр и максимального количества дробных цифр и не зависит от максимального количества целых цифр. Например, 12345, отформатированный с "##0.##E0" — это "12.3E3". Чтобы отобразить все цифры, установите количество значащих цифр в ноль. Количество значащих цифр не влияет на анализ.
  • В шаблонах экспоненциальной записи не должно быть разделителей группировки.

Округление

DecimalFormat предоставляет режимы округления, определённые в RoundingMode для форматирования. По умолчанию используется RoundingMode.HALF_EVEN.

Цифры

Для форматирования DecimalFormat использует десять последовательных символов, начиная с локализованной нулевой цифры, определённой в объекте DecimalFormatSymbols в качестве цифр. Для анализа распознаются эти цифры, а также все Unicode-десятичные цифры, определённые в Character.digit.

Специальные значения

NaN форматируется как строка, которая обычно имеет один символ \uFFFD. Эта строка определяется объектом DecimalFormatSymbols. Это единственное значение, для которого префиксы и суффиксы не используются.

Бесконечность форматируется как строка, которая обычно имеет один символ \u221E, с применёнными положительными или отрицательными префиксами и суффиксами. Строка бесконечности определяется объектом DecimalFormatSymbols.

Отрицательный ноль ("-0") анализируется как

  • BigDecimal(0) если isParseBigDecimal() равно true,
  • Long(0) если isParseBigDecimal() равно false и isParseIntegerOnly() равно true,
  • Double(-0.0) если оба isParseBigDecimal() и isParseIntegerOnly() равны false.

Синхронизация

Форматы Decimal обычно не синхронизируются. Рекомендуется создавать отдельные экземпляры формата для каждого потока. Если несколько потоков одновременно обращаются к формату, он должен быть синхронизирован внешним образом.

Пример

<strong>// Print out a number using the localized number, integer, currency,
// and percent format for each locale</strong>
Locale[] locales = NumberFormat.getAvailableLocales();
double myNumber = -1234.56;
NumberFormat form;
for (int j = 0; j < 4; ++j) {
    System.out.println("FORMAT");
    for (int i = 0; i < locales.length; ++i) {
        if (locales[i].getCountry().length() == 0) {
           continue; // Skip language-only locales
        }
        System.out.print(locales[i].getDisplayName());
        switch (j) {
        case 0:
            form = NumberFormat.getInstance(locales[i]); break;
        case 1:
            form = NumberFormat.getIntegerInstance(locales[i]); break;
        case 2:
            form = NumberFormat.getCurrencyInstance(locales[i]); break;
        default:
            form = NumberFormat.getPercentInstance(locales[i]); break;
        }
        if (form instanceof DecimalFormat) {
            System.out.print(": " + ((DecimalFormat) form).toPattern());
        }
        System.out.print(" -> " + form.format(myNumber));
        try {
            System.out.println(" -> " + form.parse(form.format(myNumber)));
        } catch (ParseException e) {}
    }
}
См. также:
Учебник Java, NumberFormat, DecimalFormatSymbols, ParsePosition, Сериализованная форма

Вложенные классы

Вложенные классы/интерфейсы, унаследованные от класса java.text.NumberFormat

NumberFormat.Field

Поля

Поля, унаследованные от класса java.text.NumberFormat

FRACTION_FIELD, INTEGER_FIELD

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

Конструктор и описание
DecimalFormat()

Создаёт DecimalFormat с использованием шаблона по умолчанию и символов по умолчанию для локали FORMAT.

DecimalFormat(String pattern)

Создаёт DecimalFormat с использованием заданного шаблона и символов для локали по умолчанию FORMAT.

DecimalFormat(String pattern, DecimalFormatSymbols symbols)

Создаёт DecimalFormat с использованием заданного шаблона и символов.

Методы

Модификатор и тип Метод и описание
void applyLocalizedPattern(String pattern)

Применяет заданный шаблон к этому объекту Format.

void applyPattern(String pattern)

Применяет заданный шаблон к этому объекту Format.

Object clone()

Стандартная перегрузка; никаких изменений в семантике.

boolean equals(Object obj)

Переопределяет equals

StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)

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

StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)

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

StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)

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

AttributedCharacterIterator formatToCharacterIterator(Object obj)

Форматирует объект, создавая AttributedCharacterIterator.

Currency getCurrency()

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

DecimalFormatSymbols getDecimalFormatSymbols()

Возвращает копию символов формата десятичных дробей, которые обычно не изменяются программистом или пользователем.

int getGroupingSize()

Возвращает размер группировки.

int getMaximumFractionDigits()

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

int getMaximumIntegerDigits()

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

int getMinimumFractionDigits()

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

int getMinimumIntegerDigits()

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

int getMultiplier()

Возвращает множитель, используемый для процентов, промилле и подобных форматов.

String getNegativePrefix()

Возвращает префикс для отрицательных значений.

String getNegativeSuffix()

Возвращает суффикс для отрицательных значений.

String getPositivePrefix()

Возвращает префикс для положительных значений.

String getPositiveSuffix()

Возвращает суффикс для положительных значений.

RoundingMode getRoundingMode()

Возвращает RoundingMode, используемый в этом DecimalFormat.

int hashCode()

Переопределяет hashCode

boolean isDecimalSeparatorAlwaysShown()

Позволяет получить поведение разделителя десятичных дробей с целыми числами.

boolean isParseBigDecimal()

Возвращает, возвращает ли метод parse(java.lang.String, java.text.ParsePosition) BigDecimal.

Number parse(String text, ParsePosition pos)

Разбирает текст из строки для получения Number.

void setCurrency(Currency currency)

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

void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)

Устанавливает символы формата десятичных дробей, которые обычно не изменяются программистом или пользователем.

void setDecimalSeparatorAlwaysShown(boolean newValue)

Позволяет установить поведение разделителя десятичных дробей с целыми числами.

void setGroupingSize(int newValue)

Устанавливает размер группировки.

void setGroupingUsed(boolean newValue)

Устанавливает, будет ли использоваться группировка в этом формате.

void setMaximumFractionDigits(int newValue)

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

void setMaximumIntegerDigits(int newValue)

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

void setMinimumFractionDigits(int newValue)

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

void setMinimumIntegerDigits(int newValue)

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

void setMultiplier(int newValue)

Устанавливает множитель, используемый для процентов, промилле и подобных форматов.

void setNegativePrefix(String newValue)

Устанавливает префикс для отрицательных значений.

void setNegativeSuffix(String newValue)

Устанавливает суффикс для отрицательных значений.

void setParseBigDecimal(boolean newValue)

Устанавливает, возвращает ли метод parse(java.lang.String, java.text.ParsePosition) BigDecimal.

void setPositivePrefix(String newValue)

Устанавливает префикс для положительных значений.

void setPositiveSuffix(String newValue)

Устанавливает суффикс для положительных значений.

void setRoundingMode(RoundingMode roundingMode)

Устанавливает RoundingMode, используемый в этом DecimalFormat.

String toLocalizedPattern()

Генерирует локализованную строку шаблона, которая представляет текущее состояние этого объекта Format.

String toPattern()

Генерирует строку шаблона, которая представляет текущее состояние этого объекта Format.

Методы, унаследованные от класса java.text.NumberFormat

format, format, getAvailableLocales, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setParseIntegerOnly

Методы, унаследованные от класса java.text.Format

format, parseObject

Методы, унаследованные от класса java.lang.Object

finalize, getClass, notify, notifyAll, toString, wait, wait, wait

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

DecimalFormat

public DecimalFormat()

Создаёт DecimalFormat с использованием шаблона и символов по умолчанию для локали FORMAT по умолчанию. Это удобный способ получить DecimalFormat, когда локализация не является основным приоритетом.

Для получения стандартных форматов для заданной локали используйте фабричные методы в NumberFormat, такие как getNumberInstance. Эти фабрики возвращают наиболее подходящий подкласс NumberFormat для заданной локали.

См. также:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance()

DecimalFormat

public DecimalFormat(String pattern)

Создаёт DecimalFormat с использованием заданного шаблона и символов для локали FORMAT по умолчанию. Это удобный способ получить DecimalFormat, когда локализация не является основным приоритетом.

Для получения стандартных форматов для заданной локали используйте фабричные методы в NumberFormat, такие как getNumberInstance. Эти фабрики возвращают наиболее подходящий подкласс NumberFormat для заданной локали.

Параметры:
pattern - строка шаблона без локализации.
Исключения:
NullPointerException - если pattern равно null
IllegalArgumentException - если заданный шаблон некорректен.
См. также:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance()

DecimalFormat

public DecimalFormat(String pattern,
                     DecimalFormatSymbols symbols)

Создаёт DecimalFormat с использованием заданного шаблона и символов. Используйте этот конструктор, когда вам необходимо полностью настроить поведение формата.

Для получения стандартных форматов для заданной локали используйте фабричные методы в NumberFormat, такие как getInstance или getCurrencyInstance. Если вам требуются лишь незначительные корректировки стандартного формата, вы можете изменить формат, возвращаемый фабричным методом NumberFormat.

Параметры:
pattern - строка шаблона без локализации
symbols - набор символов для использования
Исключения:
NullPointerException - если любой из переданных аргументов равен null
IllegalArgumentException - если заданный шаблон некорректен
См. также:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance(), DecimalFormatSymbols

Методы

format

public final StringBuffer format(Object number,
                                 StringBuffer toAppendTo,
                                 FieldPosition pos)

Форматирует число и добавляет получившийся текст в заданный буфер строк. Число может быть любого подкласса Number.

Эта реализация использует максимальную точность, разрешенную.

Переопределяет:
format в классе NumberFormat
Параметры:
number - число для форматирования
toAppendTo - буфер строк, в который добавляется отформатированный текст
pos - при вводе: поле выравнивания, если необходимо. При выводе: смещения поля выравнивания.
Возвращает:
переданное значение в качестве toAppendTo
Исключения:
IllegalArgumentException - если number равно null или не является экземпляром Number.
NullPointerException - если toAppendTo или pos равны null
ArithmeticException - если округление необходимо, а режим округления установлен на RoundingMode.UNNECESSARY
См. также:
FieldPosition

format

public StringBuffer format(double number,
                           StringBuffer result,
                           FieldPosition fieldPosition)

Форматирует double в строку.

Установлено в:
format в классе NumberFormat
Параметры:
number - double для форматирования
result - место, куда добавляется текст
fieldPosition - На входе: поле выравнивания, если необходимо. На выходе: смещения поля выравнивания.
Возвращает:
Строка отформатированного числа
Исключения:
ArithmeticException - если округление необходимо, а режим округления установлен на RoundingMode.UNNECESSARY
См. также:
FieldPosition

format

public StringBuffer format(long number,
                           StringBuffer result,
                           FieldPosition fieldPosition)

Форматирует long в строку.

Установлено в:
format в классе NumberFormat
Параметры:
number - long для форматирования
result - место, куда добавляется текст
fieldPosition - На входе: поле выравнивания, если необходимо. На выходе: смещения поля выравнивания.
Возвращает:
Строка отформатированного числа
Исключения:
ArithmeticException - если округление необходимо, а режим округления установлен на RoundingMode.UNNECESSARY
См. также:
FieldPosition

formatToCharacterIterator

public AttributedCharacterIterator formatToCharacterIterator(Object obj)

Форматирует объект, создавая AttributedCharacterIterator. Вы можете использовать возвращённый AttributedCharacterIterator для построения результирующей строки, а также для получения информации о результирующей строке.

Каждый ключ атрибута AttributedCharacterIterator будет иметь тип NumberFormat.Field, а значение атрибута будет таким же, как и ключ атрибута.

Переопределяет:
formatToCharacterIterator в классе Format
Параметры:
obj - объект для форматирования
Возвращает:
AttributedCharacterIterator, описывающий отформатированное значение.
Исключения:
NullPointerException - если obj равно null.
IllegalArgumentException - когда формат не может отформатировать данный объект.
ArithmeticException - если округление необходимо, а режим округления установлен на RoundingMode.UNNECESSARY
С:
1.4

parse

public Number parse(String text,
                    ParsePosition pos)

Разбирает текст из строки, чтобы получить Number.

Метод пытается разобрать текст, начиная с индекса, заданного pos. Если разбор успешен, то индекс pos обновляется до индекса после последнего используемого символа (разбор не обязательно использует все символы до конца строки), и возвращается разобранное число. Обновлённый pos может быть использован для указания точки старта для следующего вызова этого метода. Если произошла ошибка, то индекс pos не изменяется, индекс ошибки pos устанавливается на индекс символа, где произошла ошибка, и возвращается null.

Возвращаемый подкласс зависит от значения isParseBigDecimal(), а также от анализируемой строки.

  • Если isParseBigDecimal() ложно (по умолчанию), большинство целых значений возвращаются как объекты Long, независимо от того, как они написаны: "17" и "17.000" оба разбираются в Long(17). Значения, которые не могут поместиться в Long возвращаются как Double . Сюда входят значения с дробной частью, бесконечные значения, NaN, и значение -0.0. DecimalFormat не решает, возвращать Double или Long на основе наличия десятичного разделителя в исходной строке. Такое решение помешало бы точным разбору целых чисел, которые превышают мантиссу double, таких как "-9,223,372,036,854,775,808.00".

    Вызывающие методы могут использовать методы Number doubleValue, longValue, и т. д. для получения нужного типа.

  • Если isParseBigDecimal() истинно, значения возвращаются как объекты BigDecimal . Значения - те, которые построены в BigDecimal(String) для соответствующих строк в формате, независимом от локали. Особые случаи отрицательной и положительной бесконечности и NaN возвращаются как экземпляры Double , содержащие значения соответствующих Double констант.

DecimalFormat анализирует все символы Юникода, которые представляют десятичные цифры, как определено в Character.digit(). Кроме того, DecimalFormat также распознаёт как цифры десять последовательных символов, начинающихся с локального нуля, определённого в объекте DecimalFormatSymbols.

Установлено в:
parse в классе NumberFormat
Параметры:
text - разбираемая строка
pos - Объект ParsePosition с информацией об индексе и индексе ошибки, как описано выше.
Возвращает:
разбираемое значение или null в случае неудачи разбора
Исключения:
NullPointerException - если text или pos равны null.
См. также:
NumberFormat.isParseIntegerOnly(), Format.parseObject(java.lang.String, java.text.ParsePosition)

getDecimalFormatSymbols

public DecimalFormatSymbols getDecimalFormatSymbols()

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

Возвращает:
копия необходимых DecimalFormatSymbols
См. также:
DecimalFormatSymbols

setDecimalFormatSymbols

public void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)

Устанавливает символы формата десятичных чисел, которые обычно не изменяются программистом или пользователем.

Параметры:
newSymbols - необходимые DecimalFormatSymbols
См. также:
DecimalFormatSymbols

getPositivePrefix

public String getPositivePrefix()

Получить положительный префикс.

Примеры: +123, $123, sFr123

Возвращает:
положительный префикс

setPositivePrefix

public void setPositivePrefix(String newValue)

Установить положительный префикс.

Примеры: +123, $123, sFr123

Параметры:
newValue - новый положительный префикс

getNegativePrefix

public String getNegativePrefix()

Получить отрицательный префикс.

Примеры: -123, ($123) (с отрицательным суффиксом), sFr-123

Возвращает:
отрицательный префикс

setNegativePrefix

public void setNegativePrefix(String newValue)

Установить отрицательный префикс.

Примеры: -123, ($123) (с отрицательным суффиксом), sFr-123

Параметры:
newValue - новый отрицательный префикс

getPositiveSuffix

public String getPositiveSuffix()

Получить положительный суффикс.

Пример: 123%

Возвращает:
положительный суффикс

setPositiveSuffix

public void setPositiveSuffix(String newValue)

Установить положительный суффикс.

Пример: 123%

Параметры:
newValue - новый положительный суффикс

getNegativeSuffix

public String getNegativeSuffix()

Получить отрицательный суффикс.

Примеры: -123%, ($123) (с положительными суффиксами)

Возвращает:
отрицательный суффикс

setNegativeSuffix

public void setNegativeSuffix(String newValue)

Установить отрицательный суффикс.

Примеры: 123%

Параметры:
newValue - новый отрицательный суффикс

getMultiplier

public int getMultiplier()

Получить множитель для использования в процентах, промилле и подобных форматах.

Возвращает:
множитель
См. также:
setMultiplier(int)

setMultiplier

public void setMultiplier(int newValue)

Устанавливает множитель для использования в процентах, промилле и подобных форматах. Для процентного формата установите множитель в 100 и суффиксы в «%» (для арабского языка используйте арабский знак процента). Для формата промилле установите множитель в 1000 и суффиксы в «‰».

Пример: при множителе 100, 1.23 форматируется как «123», а «123» парсится в 1.23.

Параметры:
newValue - новый множитель
См. также:
getMultiplier()

setGroupingUsed

public void setGroupingUsed(boolean newValue)

Устанавливает, используется ли группировка в этом формате.

Переопределяет:
setGroupingUsed в классе NumberFormat
Параметры:
newValue - true если используется группировка; false в противном случае
См. также:
NumberFormat.isGroupingUsed()

getGroupingSize

public int getGroupingSize()

Возвращает размер группировки. Размер группировки — это количество цифр между разделителями группировки в целой части числа. Например, в числе «123 456,78» размер группировки равен 3.

Возвращает:
размер группировки
См. также:
setGroupingSize(int), NumberFormat.isGroupingUsed(), DecimalFormatSymbols.getGroupingSeparator()

setGroupingSize

public void setGroupingSize(int newValue)

Устанавливает размер группировки. Размер группировки — это количество цифр между разделителями группировки в целой части числа. Например, в числе «123 456,78» размер группировки равен 3.
Передаваемое значение преобразуется в байт, что может привести к потере информации.

Параметры:
newValue - новый размер группировки
См. также:
getGroupingSize(), NumberFormat.setGroupingUsed(boolean), DecimalFormatSymbols.setGroupingSeparator(char)

isDecimalSeparatorAlwaysShown

public boolean isDecimalSeparatorAlwaysShown()

Позволяет получить поведение разделителя десятичных знаков с целыми числами. (Разделитель десятичных знаков всегда будет отображаться с десятичными знаками.)

Пример: Включено: 12345 → 12345.; Выключено: 12345 → 12345

Возвращает:
true если разделитель десятичных знаков всегда отображается; false в противном случае

setDecimalSeparatorAlwaysShown

public void setDecimalSeparatorAlwaysShown(boolean newValue)

Позволяет установить поведение разделителя десятичных знаков с целыми числами. (Разделитель десятичных знаков всегда будет отображаться с десятичными знаками.)

Пример: Включено: 12345 → 12345.; Выключено: 12345 → 12345

Параметры:
newValue - true если разделитель десятичных знаков всегда отображается; false в противном случае

isParseBigDecimal

public boolean isParseBigDecimal()

Возвращает, возвращает ли метод parse(java.lang.String, java.text.ParsePosition) значение BigDecimal. Значение по умолчанию — false.

Возвращает:
true если метод parse возвращает BigDecimal; false в противном случае
С:
1.5
См. также:
setParseBigDecimal(boolean)

setParseBigDecimal

public void setParseBigDecimal(boolean newValue)

Устанавливает, возвращает ли метод parse(java.lang.String, java.text.ParsePosition) значение BigDecimal.

Параметры:
newValue - true если метод parse возвращает BigDecimal; false в противном случае
С:
1.5
См. также:
isParseBigDecimal()

clone

public Object clone()

Стандартное переопределение; семантика не меняется.

Переопределяет:
clone в классе NumberFormat
Возвращает:
клонированный экземпляр.
См. также:
Cloneable

equals

public boolean equals(Object obj)

Переопределяет equals

Переопределяет:
equals в классе NumberFormat
Параметры:
obj - объект-ссылка для сравнения.
Возвращает:
true если этот объект такой же, как аргумент obj; false в противном случае.
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Переопределяет hashCode

Переопределяет:
hashCode в классе NumberFormat
Возвращает:
значение хэш-кода для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toPattern

public String toPattern()

Генерирует строку шаблона, которая представляет текущее состояние объекта Format.

Возвращает:
строка шаблона
См. также:
applyPattern(java.lang.String)

toLocalizedPattern

public String toLocalizedPattern()

Генерирует локализованную строку шаблона, которая представляет текущее состояние объекта Format.

Возвращает:
локализованная строка шаблона
См. также:
applyPattern(java.lang.String)

applyPattern

public void applyPattern(String pattern)

Применить заданный шаблон к объекту Format. Шаблон — краткое описание различных свойств форматирования. Эти свойства также можно изменить индивидуально с помощью различных методов set.

Предельное количество цифр в целой части числа не ограничено, так как это типичное желание конечного пользователя; используйте setMaximumInteger, если нужно установить реальное значение. Для отрицательных чисел используйте второй шаблон, разделенный точкой с запятой.

Пример "#,#00.0#" → 1 234,56

Это означает минимум 2 целых цифры, 1 дробная цифра и максимум 2 дробных цифры.

Пример: "#,#00.0#;(#,#00.0#)" для отрицательных значений в скобках.

В шаблонах для отрицательных чисел минимальное и максимальное количество цифр игнорируются; они предполагаются установленными в положительном шаблоне.

Параметры:
pattern - новый шаблон
Исключения:
NullPointerException - если pattern равно null
IllegalArgumentException - если заданный шаблон некорректен.

applyLocalizedPattern

public void applyLocalizedPattern(String pattern)

Применить заданный шаблон к объекту Format. Предполагается, что шаблон записан в локализованном формате. Шаблон — краткое описание различных свойств форматирования. Эти свойства также можно изменить индивидуально с помощью различных методов set.

Предельное количество цифр в целой части числа не ограничено, так как это типичное желание конечного пользователя; используйте setMaximumInteger, если нужно установить реальное значение. Для отрицательных чисел используйте второй шаблон, разделенный точкой с запятой.

Пример "#,#00.0#" → 1 234,56

Это означает минимум 2 целых цифры, 1 дробная цифра и максимум 2 дробных цифры.

Пример: "#,#00.0#;(#,#00.0#)" для отрицательных значений в скобках.

В шаблонах для отрицательных чисел минимальное и максимальное количество цифр игнорируются; они предполагаются установленными в положительном шаблоне.

Параметры:
pattern - новый шаблон
Исключения:
NullPointerException - если pattern равно null
IllegalArgumentException - если заданный шаблон некорректен.

setMaximumIntegerDigits

public void setMaximumIntegerDigits(int newValue)

Устанавливает максимальное количество цифр, разрешенных в целой части числа. Для форматирования чисел, отличных от BigInteger и BigDecimal объектов, используется меньшее из newValue и 309. Отрицательные входные значения заменяются на 0.

Overrides:
setMaximumIntegerDigits в классе NumberFormat
Parameters:
newValue - максимальное количество целых цифр для отображения; если меньше нуля, используется ноль. Конкретный подкласс может применять верхний предел к этому значению, соответствующий форматируемому числовому типу.
See Also:
NumberFormat.setMaximumIntegerDigits(int)

setMinimumIntegerDigits

public void setMinimumIntegerDigits(int newValue)

Устанавливает минимальное количество цифр, разрешённых в целой части числа. При форматировании чисел, отличных от BigInteger и BigDecimal объектов, используется меньшее из newValue и 309. Отрицательные значения входных данных заменяются на 0.

Overrides:
setMinimumIntegerDigits в классе NumberFormat
Parameters:
newValue - минимальное количество целых цифр для отображения; если меньше нуля, используется ноль. Конкретный подкласс может применять верхний предел к этому значению, соответствующий форматируемому числовому типу.
See Also:
NumberFormat.setMinimumIntegerDigits(int)

setMaximumFractionDigits

public void setMaximumFractionDigits(int newValue)

Устанавливает максимальное количество цифр, разрешённых в дробной части числа. При форматировании чисел, отличных от BigInteger и BigDecimal объектов, используется меньшее из newValue и 340. Отрицательные значения входных данных заменяются на 0.

Overrides:
setMaximumFractionDigits в классе NumberFormat
Parameters:
newValue - максимальное количество дробных цифр для отображения; если меньше нуля, используется ноль. Конкретный подкласс может применять верхний предел к этому значению, соответствующий форматируемому числовому типу.
See Also:
NumberFormat.setMaximumFractionDigits(int)

setMinimumFractionDigits

public void setMinimumFractionDigits(int newValue)

Устанавливает минимальное количество цифр, разрешённых в дробной части числа. При форматировании чисел, отличных от BigInteger и BigDecimal объектов, используется меньшее из newValue и 340. Отрицательные значения входных данных заменяются на 0.

Overrides:
setMinimumFractionDigits в классе NumberFormat
Parameters:
newValue - минимальное количество дробных цифр для отображения; если меньше нуля, используется ноль. Конкретный подкласс может применять верхний предел к этому значению, соответствующий форматируемому числовому типу.
See Also:
NumberFormat.setMinimumFractionDigits(int)

getMaximumIntegerDigits

public int getMaximumIntegerDigits()

Возвращает максимальное количество цифр, разрешённых в целой части числа. При форматировании чисел, отличных от BigInteger и BigDecimal объектов, используется меньшее из возвращаемого значения и 309.

Overrides:
getMaximumIntegerDigits в классе NumberFormat
Returns:
максимальное количество цифр
See Also:
setMaximumIntegerDigits(int)

getMinimumIntegerDigits

public int getMinimumIntegerDigits()

Возвращает минимальное количество цифр, разрешённых в целой части числа. При форматировании чисел, отличных от BigInteger и BigDecimal объектов, используется меньшее из возвращаемого значения и 309.

Overrides:
getMinimumIntegerDigits в классе NumberFormat
Returns:
минимальное количество цифр
See Also:
setMinimumIntegerDigits(int)

getMaximumFractionDigits

public int getMaximumFractionDigits()

Возвращает максимальное количество цифр, разрешённых в дробной части числа. При форматировании чисел, отличных от BigInteger и BigDecimal объектов, используется меньшее из возвращаемого значения и 340.

Overrides:
getMaximumFractionDigits в классе NumberFormat
Returns:
максимальное количество цифр.
See Also:
setMaximumFractionDigits(int)

getMinimumFractionDigits

public int getMinimumFractionDigits()

Возвращает минимальное количество цифр, разрешённых в дробной части числа. При форматировании чисел, отличных от BigInteger и BigDecimal объектов, используется меньшее из возвращаемого значения и 340.

Overrides:
getMinimumFractionDigits в классе NumberFormat
Returns:
минимальное количество цифр
See Also:
setMinimumFractionDigits(int)

getCurrency

public Currency getCurrency()

Возвращает валюту, используемую этим форматом десятичных чисел при форматировании значений валюты. Валюта извлекается, вызывая DecimalFormatSymbols.getCurrency для символов этого формата чисел.

Overrides:
getCurrency в классе NumberFormat
Returns:
валюту, используемую этим форматом десятичных чисел, или null
Since:
1.4

setCurrency

public void setCurrency(Currency currency)

Устанавливает валюту, используемую этим форматом чисел при форматировании значений валюты. Это не обновляет минимальное или максимальное количество дробных цифр, используемых форматом чисел. Валюта устанавливается, вызывая DecimalFormatSymbols.setCurrency для символов этого формата чисел.

Overrides:
setCurrency в классе NumberFormat
Parameters:
currency - новая валюта, которая должна использоваться этим форматом десятичных чисел
Throws:
NullPointerException - если currency равно null
Since:
1.4

getRoundingMode

public RoundingMode getRoundingMode()

Возвращает RoundingMode, используемый в этом DecimalFormat.

Overrides:
getRoundingMode в классе NumberFormat
Returns:
RoundingMode используемый для этого DecimalFormat.
Since:
1.6
See Also:
setRoundingMode(RoundingMode)

setRoundingMode

public void setRoundingMode(RoundingMode roundingMode)

Устанавливает RoundingMode, используемый в этом DecimalFormat.

Overrides:
setRoundingMode в классе NumberFormat
Parameters:
roundingMode - используемый RoundingMode
Throws:
NullPointerException - если roundingMode равно null.
Since:
1.6
See Also:
getRoundingMode()

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API