Класс 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)". Каждый подшаблон имеет префикс, числовую часть и суффикс. Отрицательный подшаблон является необязательным; если он отсутствует, то положительный подшаблон с префиксом «минус» ('-' U+002D HYPHEN-MINUS) используется в качестве отрицательного подшаблона. То есть, "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 х 10^3. Мантисса часто находится в диапазоне 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".
- Если максимальное количество целых цифр больше минимального и больше 1, это принудительно заставляет экспоненту быть кратной максимальному количеству целых цифр, а минимальное количество целых цифр интерпретируется как 1. Наиболее распространённое применение этого — генерация инженерной записи, в которой экспонента кратна трём, например,
- Количество значащих цифр в мантиссе — это сумма минимального целого числа и максимальной дробной части цифр и не зависит от максимального количества целых цифр. Например, 12345, отформатированный с помощью
"##0.##E0", —"12.3E3". Чтобы отобразить все цифры, установите количество значащих цифр в ноль. Количество значащих цифр не влияет на разбор. - Шаблоны экспоненциальной записи не могут содержать разделители групп.
Округление
DecimalFormat предоставляет режимы округления, определённые в RoundingMode для форматирования. По умолчанию используется RoundingMode.HALF_EVEN. Цифры
Для форматированияDecimalFormat использует десять последовательных символов, начиная с локализованной цифры ноль, определённой в объекте DecimalFormatSymbols как цифры. Для разбора распознаются эти цифры, а также все Unicode-цифры, как определено в Character.digit. Специальные значения
NaN форматируется как строка, которая обычно имеет один символ \uFFFD. Эта строка определяется объектом DecimalFormatSymbols. Это единственное значение, для которого префиксы и суффиксы не используются.
Бесконечность форматируется как строка, которая обычно имеет один символ \u221E, с применением положительных или отрицательных префиксов и суффиксов. Строка бесконечности определяется объектом DecimalFormatSymbols.
Отрицательный ноль ("-0") анализируется как
-
BigDecimal(0)еслиisParseBigDecimal()истинно, -
Long(0)еслиisParseBigDecimal()ложно иisParseIntegerOnly()истинно, -
Double(-0.0)если обаisParseBigDecimal()иisParseIntegerOnly()ложны.
Синхронизация
Форматы десятичных чисел, как правило, не синхронизированы. Рекомендуется создавать отдельные экземпляры форматирования для каждого потока. Если к формату обращаются несколько потоков одновременно, он должен быть синхронизирован внешним образом.
Пример
// Print out a number using the localized number, integer, currency, // and percent format for each localeLocale[] 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) {} } }
- С:
- 1.1
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.text.NumberFormat
NumberFormat.Field, NumberFormat.Style
Краткое описание полей
Поля, объявленные в классе java.text.NumberFormat
FRACTION_FIELD, INTEGER_FIELD
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DecimalFormat() |
Создаёт DecimalFormat с использованием шаблона по умолчанию и символов для локали по умолчанию FORMAT. |
DecimalFormat |
Создаёт DecimalFormat с использованием заданного шаблона и символов для локали по умолчанию FORMAT. |
DecimalFormat |
Создаёт DecimalFormat с использованием заданного шаблона и символов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
applyLocalizedPattern |
Применяет заданный шаблон к этому объекту Format. |
void |
applyPattern |
Применяет заданный шаблон к этому объекту Format. |
Object |
clone() |
Стандартная перегрузка; без изменений в семантике. |
boolean |
equals |
Переопределяет equals |
StringBuffer |
format |
Форматирует double для создания строки. |
StringBuffer |
format |
Форматирует long для создания строки. |
final StringBuffer |
format |
Форматирует число и добавляет полученный текст в заданный буфер строк. |
AttributedCharacterIterator |
formatToCharacterIterator |
Форматирует объект, создавая 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 |
Парсит текст из строки для создания Number. |
void |
setCurrency |
Устанавливает валюту, используемую этим форматом при форматировании значений валюты. |
void |
setDecimalFormatSymbols |
Устанавливает символы формата десятичных чисел, которые обычно не изменяются программистом или пользователем. |
void |
setDecimalSeparatorAlwaysShown |
Позволяет установить поведение разделителя десятичных знаков с целыми числами. |
void |
setGroupingSize |
Устанавливает размер группировки. |
void |
setMaximumFractionDigits |
Устанавливает максимальное количество цифр, разрешённых в дробной части числа. |
void |
setMaximumIntegerDigits |
Устанавливает максимальное количество цифр, разрешённых в целой части числа. |
void |
setMinimumFractionDigits |
Устанавливает минимальное количество цифр, разрешённых в дробной части числа. |
void |
setMinimumIntegerDigits |
Устанавливает минимальное количество цифр, разрешённых в целой части числа. |
void |
setMultiplier |
Устанавливает множитель для использования в процентах, промилле и аналогичных форматах. |
void |
setNegativePrefix |
Устанавливает префикс для отрицательных значений. |
void |
setNegativeSuffix |
Устанавливает суффикс для отрицательных значений. |
void |
setParseBigDecimal |
Устанавливает, возвращает ли метод parse(java.lang.String, java.text.ParsePosition) BigDecimal. |
void |
setPositivePrefix |
Устанавливает префикс для положительных значений. |
void |
setPositiveSuffix |
Устанавливает суффикс для положительных значений. |
void |
setRoundingMode |
Устанавливает RoundingMode в этом DecimalFormat. |
String |
toLocalizedPattern() |
Генерирует локализованную строку шаблона, представляющую текущее состояние этого объекта Format. |
String |
toPattern() |
Генерирует строку шаблона, представляющую текущее состояние этого объекта Format. |
Методы, объявленные в классе java.text.NumberFormat
format, format, getAvailableLocales, getCompactNumberInstance, getCompactNumberInstance, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setGroupingUsed, setParseIntegerOnly
Методы, объявленные в классе java.text.Format
format, parseObject
Подробное описание конструкторов
DecimalFormat
public DecimalFormat()
FORMAT по умолчанию. Это удобный способ получения DecimalFormat, когда локализация не является приоритетом. Для получения стандартных форматов для заданной локализации используйте фабричные методы NumberFormat, такие как getNumberInstance. Эти фабрики вернут наиболее подходящий подкласс NumberFormat для данной локализации.
DecimalFormat
public DecimalFormat(String pattern)
FORMAT по умолчанию. Это удобный способ получения DecimalFormat, когда локализация не является приоритетом. Для получения стандартных форматов для заданной локализации используйте фабричные методы NumberFormat, такие как getNumberInstance. Эти фабрики вернут наиболее подходящий подкласс NumberFormat для данной локализации.
- Параметры:
-
pattern- строка шаблона без локализации. - Исключения:
-
NullPointerException- еслиpatternравно null -
IllegalArgumentException- если заданный шаблон некорректен. - См. также:
DecimalFormat
public DecimalFormat(String pattern, DecimalFormatSymbols symbols)
Для получения стандартных форматов для заданной локализации используйте фабричные методы NumberFormat, такие как getInstance или getCurrencyInstance. Если вам нужны только незначительные корректировки стандартного формата, вы можете изменить формат, возвращаемый методом NumberFormat фабрики.
- Параметры:
-
pattern- строка шаблона без локализации -
symbols- набор символов для использования - Исключения:
-
NullPointerException- если любой из заданных аргументов равен null -
IllegalArgumentException- если заданный шаблон некорректен - См. также:
Подробное описание методов
format
public final StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)
Number. Эта реализация использует максимальную точность.
- Переопределяет:
-
formatв классеNumberFormat - Параметры:
-
number- число для форматирования -
toAppendTo- буфер строк, в который будет добавлен отформатированный текст -
pos- отслеживает позицию поля в возвращаемой строке. Например, для форматирования числа1234567.89в локалиLocale.US, если заданныйfieldPositionравенNumberFormat.INTEGER_FIELD, начальный и конечный индексыfieldPositionбудут установлены соответственно в 0 и 9 для выходной строки1,234,567.89. - Возвращает:
- переданное значение в качестве
toAppendTo - Исключения:
-
IllegalArgumentException- еслиnumberравно null или не является экземпляромNumber. -
NullPointerException- еслиtoAppendToилиposравны null -
ArithmeticException- если требуется округление с режимом округления RoundingMode.UNNECESSARY - См. также:
format
public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
- Определено в:
-
formatв классеNumberFormat - Параметры:
-
number- double для форматирования -
result- место, куда будет добавлен текст -
fieldPosition- отслеживает позицию поля в возвращаемой строке. Например, для форматирования числа1234567.89в локалиLocale.US, если заданныйfieldPositionравенNumberFormat.INTEGER_FIELD, начальный и конечный индексыfieldPositionбудут установлены соответственно в 0 и 9 для выходной строки1,234,567.89. - Возвращает:
- отформатированную строку с числом
- Исключения:
-
NullPointerException- еслиresultилиfieldPositionравныnull -
ArithmeticException- если требуется округление с режимом округления RoundingMode.UNNECESSARY - См. также:
format
public StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
- Определено в:
-
formatв классеNumberFormat - Параметры:
-
number- long для форматирования -
result- место, куда будет добавлен текст -
fieldPosition- отслеживает позицию поля в возвращаемой строке. Например, для форматирования числа123456789в локалиLocale.US, если заданныйfieldPositionравенNumberFormat.INTEGER_FIELD, начальный и конечный индексыfieldPositionбудут установлены соответственно в 0 и 11 для выходной строки123,456,789. - Возвращает:
- отформатированную строку с числом
- Исключения:
-
NullPointerException- еслиresultилиfieldPositionравныnull -
ArithmeticException- если требуется округление с режимом округления RoundingMode.UNNECESSARY - См. также:
formatToCharacterIterator
public AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIterator. Вы можете использовать возвращаемый AttributedCharacterIterator для построения результирующей строки, а также для определения информации о результирующей строке. Каждый ключ атрибута AttributedCharacterIterator будет иметь тип NumberFormat.Field, а значение атрибута будет таким же, как и ключ атрибута.
- Переопределяет:
-
formatToCharacterIteratorв классеFormat - Параметры:
-
obj- объект для форматирования - Возвращает:
- AttributedCharacterIterator, описывающий отформатированное значение.
- Исключения:
-
NullPointerException- если obj равен null. -
IllegalArgumentException- когда Format не может отформатировать данный объект. -
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".Звонящие стороны могут использовать методы
NumberdoubleValue,longValue, и т.д., чтобы получить желаемый тип. - Если
isParseBigDecimal()истинно, значения возвращаются как объектыBigDecimal. Эти значения соответствуют тем, что были бы сконструированы функциейBigDecimal(String)для соответствующих строк в локалинезависимом формате. Особые случаи — отрицательная и положительная бесконечность, и NaN, возвращаются как объектыDouble, содержащие значения соответствующих константDouble.
DecimalFormat парсит все символы Unicode, представляющие десятичные цифры, как определено в Character.digit(). Кроме того, DecimalFormat также распознаёт как цифры десять последовательных символов, начиная с локализованной нулевой цифры, определённой в объекте DecimalFormatSymbols.
- Specified by:
-
parsein classNumberFormat - Parameters:
-
text- строка для парсинга -
pos- ОбъектParsePositionс информацией об индексе и индексе ошибки, как описано выше. - Returns:
- распарсенное значение или
nullпри неудачном парсинге - Throws:
-
NullPointerException- еслиtextилиposравно null. - See Also:
getDecimalFormatSymbols
public DecimalFormatSymbols getDecimalFormatSymbols()
- Returns:
- копия необходимых DecimalFormatSymbols
- See Also:
setDecimalFormatSymbols
public void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
- Parameters:
-
newSymbols- необходимые DecimalFormatSymbols - See Also:
getPositivePrefix
public String getPositivePrefix()
Примеры: +123, $123, sFr123
- Returns:
- положительный префикс
setPositivePrefix
public void setPositivePrefix(String newValue)
Примеры: +123, $123, sFr123
- Parameters:
-
newValue- новый положительный префикс
getNegativePrefix
public String getNegativePrefix()
Примеры: -123, ($123) (с отрицательным суффиксом), sFr-123
- Returns:
- отрицательный префикс
setNegativePrefix
public void setNegativePrefix(String newValue)
Примеры: -123, ($123) (с отрицательным суффиксом), sFr-123
- Parameters:
-
newValue- новый отрицательный префикс
getPositiveSuffix
public String getPositiveSuffix()
Пример: 123%
- Returns:
- положительный суффикс
setPositiveSuffix
public void setPositiveSuffix(String newValue)
Пример: 123%
- Parameters:
-
newValue- новый положительный суффикс
getNegativeSuffix
public String getNegativeSuffix()
Примеры: -123%, ($123) (с положительными суффиксами)
- Returns:
- отрицательный суффикс
setNegativeSuffix
public void setNegativeSuffix(String newValue)
Примеры: 123%
- Parameters:
-
newValue- новый отрицательный суффикс
getMultiplier
public int getMultiplier()
- Returns:
- множитель
- See Also:
setMultiplier
public void setMultiplier(int newValue)
Пример: при множителе 100, 1.23 форматируется как "123", а "123" распарсивается в 1.23.
- Parameters:
-
newValue- новый множитель - See Also:
getGroupingSize
public int getGroupingSize()
setGroupingUsed(false).- Returns:
- размер группировки
- See Also:
setGroupingSize
public void setGroupingSize(int newValue)
setGroupingUsed(false). Передаваемое значение преобразуется в байт, что может привести к потере информации. Значения, которые являются отрицательными или больше Byte.MAX_VALUE, вызовут IllegalArgumentException.
- Parameters:
-
newValue- новый размер группировки - Throws:
-
IllegalArgumentException- еслиnewValueотрицательное или большеByte.MAX_VALUE - See Also:
isDecimalSeparatorAlwaysShown
public boolean isDecimalSeparatorAlwaysShown()
Пример: Десятичный включён: 12345 → 12345.; Выключен: 12345 → 12345
- Returns:
-
trueесли десятичный разделитель всегда отображается;falseв противном случае
setDecimalSeparatorAlwaysShown
public void setDecimalSeparatorAlwaysShown(boolean newValue)
Пример: Десятичный включён: 12345 → 12345.; Выключен: 12345 → 12345
- Parameters:
-
newValue-trueесли десятичный разделитель всегда отображается;falseв противном случае
isParseBigDecimal
public boolean isParseBigDecimal()
parse(java.lang.String, java.text.ParsePosition) возвращаемым значением BigDecimal. Значение по умолчанию — false.- Возвращает:
-
trueесли метод parse возвращает BigDecimal;falseв противном случае - С:
- 1.5
- См. также:
setParseBigDecimal
public void setParseBigDecimal(boolean newValue)
parse(java.lang.String, java.text.ParsePosition) значение BigDecimal.- Параметры:
-
newValue-trueесли метод parse возвращает BigDecimal;falseв противном случае - С:
- 1.5
- См. также:
clone
public Object clone()
- Переопределяет:
-
cloneв классеNumberFormat - Возвращает:
- клонированный экземпляр.
- См. также:
equals
public boolean equals(Object obj)
- Переопределяет:
-
equalsв классеNumberFormat - Параметры:
-
obj- ссылка на объект для сравнения. - Возвращает:
-
trueесли этот объект идентичен аргументу obj;falseв противном случае. - См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеNumberFormat - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
toPattern
public String toPattern()
- Возвращает:
- строку шаблона
- См. также:
toLocalizedPattern
public String toLocalizedPattern()
- Возвращает:
- локализованную строку шаблона
- См. также:
applyPattern
public void applyPattern(String pattern)
Нет ограничения на количество цифр целой части, так как это типичное требование конечного пользователя; используйте setMaximumInteger если нужно установить реальное значение. Для отрицательных чисел используйте второй шаблон, разделенный точкой с запятой
Пример "#,#00.0#" → 1 234,56
Это означает минимум 2 цифры целой части, 1 цифру дробной части и максимум 2 цифры дробной части.
Пример: "#,#00.0#;(#,#00.0#)" для отрицательных значений в скобках.
В шаблонах для отрицательных чисел минимальное и максимальное количество цифр игнорируются; предполагается, что эти значения заданы в шаблоне для положительных чисел.
- Параметры:
-
pattern- новый шаблон - Исключения:
-
NullPointerException- еслиpatternравно null -
IllegalArgumentException- если заданный шаблон некорректен.
applyLocalizedPattern
public void applyLocalizedPattern(String pattern)
Нет ограничения на количество цифр целой части, так как это типичное требование конечного пользователя; используйте 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.- Переопределяет:
-
setMaximumIntegerDigitsв классеNumberFormat - Параметры:
-
newValue- максимальное количество цифр целой части; если меньше нуля, используется ноль. Конкретный подкласс может установить верхний предел для этого значения, соответствующий типу числа, которое форматируется. - См. также:
setMinimumIntegerDigits
public void setMinimumIntegerDigits(int newValue)
BigInteger и BigDecimal объектов, используется меньшее из значений newValue и 309. Отрицательные входные значения заменяются на 0.- Переопределяет:
-
setMinimumIntegerDigitsв классеNumberFormat - Параметры:
-
newValue- минимальное количество цифр целой части; если меньше нуля, используется ноль. Конкретный подкласс может установить верхний предел для этого значения, соответствующий типу числа, которое форматируется. - См. также:
setMaximumFractionDigits
public void setMaximumFractionDigits(int newValue)
BigInteger и BigDecimal объектов, используется меньшее из значений newValue и 340. Отрицательные входные значения заменяются на 0.- Переопределяет:
-
setMaximumFractionDigitsв классеNumberFormat - Параметры:
-
newValue- максимальное количество цифр дробной части; если меньше нуля, используется ноль. Конкретный подкласс может установить верхний предел для этого значения, соответствующий типу числа, которое форматируется. - См. также:
setMinimumFractionDigits
public void setMinimumFractionDigits(int newValue)
BigInteger и BigDecimal объектов, используется меньшее из значений newValue и 340. Отрицательные входные значения заменяются на 0.- Переопределяет:
-
setMinimumFractionDigitsв классеNumberFormat - Параметры:
-
newValue- минимальное количество цифр дробной части; если меньше нуля, используется ноль. Конкретный подкласс может установить верхний предел для этого значения, соответствующий типу числа, которое форматируется. - См. также:
getMaximumIntegerDigits
public int getMaximumIntegerDigits()
BigInteger и BigDecimal объектов, используется меньшее из значений возвращаемого значения и 309.- Переопределяет:
-
getMaximumIntegerDigitsв классеNumberFormat - Возвращает:
- максимальное количество цифр
- См. также:
getMinimumIntegerDigits
public int getMinimumIntegerDigits()
BigInteger и BigDecimal объектов, используется меньшее из значений возвращаемого значения и 309.- Переопределяет:
-
getMinimumIntegerDigitsв классеNumberFormat - Возвращает:
- минимальное количество цифр
- См. также:
Максимальное количество знаков после запятой
public int getMaximumFractionDigits()
BigInteger и BigDecimal, используется меньшее значение из возвращаемого и 340.- Переопределяет:
-
getMaximumFractionDigitsв классеNumberFormat - Возвращает:
- максимальное количество знаков после запятой.
- См. также:
Минимальное количество знаков после запятой
public int getMinimumFractionDigits()
BigInteger и BigDecimal, используется меньшее значение из возвращаемого и 340.- Переопределяет:
-
getMinimumFractionDigitsв классеNumberFormat - Возвращает:
- минимальное количество знаков после запятой
- См. также:
Валюта
public Currency getCurrency()
DecimalFormatSymbols.getCurrency для символов этого формата.- Переопределяет:
-
getCurrencyв классеNumberFormat - Возвращает:
- валюту, используемую этим форматом десятичных чисел, или
null - С:
- 1.4
Установить валюту
public void setCurrency(Currency currency)
DecimalFormatSymbols.setCurrency для символов этого формата.- Переопределяет:
-
setCurrencyв классеNumberFormat - Параметры:
-
currency- новая валюта, которая будет использоваться этим форматом десятичных чисел - Исключения:
-
NullPointerException- еслиcurrencyравно null - С:
- 1.4
Получить способ округления
public RoundingMode getRoundingMode()
RoundingMode, используемый в этом формате DecimalFormat.- Переопределяет:
-
getRoundingModeв классеNumberFormat - Возвращает:
- Способ округления, используемый для этого формата DecimalFormat.
- С:
- 1.6
- См. также:
Установить способ округления
public void setRoundingMode(RoundingMode roundingMode)
RoundingMode, используемый в этом формате DecimalFormat.- Переопределяет:
-
setRoundingModeв классеNumberFormat - Параметры:
-
roundingMode- Способ округления, который будет использоваться - Исключения:
-
NullPointerException- еслиroundingModeравно null. - С:
- 1.6
- См. также:
© 1993, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/text/DecimalFormat.html