Класс Currency

Все реализованные интерфейсы:
Serializable
public final class Currency
extends Object
implements Serializable

Представляет валюту. Валюты идентифицируются по их кодам ISO 4217. Для получения дополнительной информации посетите сайт ISO.

Класс разработан таким образом, что для каждой валюты существует не более одного Currency экземпляра. Поэтому публичного конструктора нет. Вы получаете экземпляр Currency с помощью методов getInstance.

Пользователи могут заменить данные о валюте Java runtime с помощью системной переменной java.util.currency.data. Если эта системная переменная определена, ее значение указывает на расположение файла свойств, содержимое которого состоит из пар «ключ-значение» кодов стран ISO 3166 и данных о валюте ISO 4217 соответственно. Значение состоит из трех значений ISO 4217 для валюты: алфавитный код, числовой код и единица меньшего порядка. Эти три значения ISO 4217 разделены запятыми. Строки, начинающиеся с символа '#', считаются комментариями. При необходимости пользователи могут указать временную метку UTC для каждой записи о валюте, указывающую дату перехода на новые данные. Временная метка добавляется в конец свойств валюты и отделяется запятой. Если временная метка UTC присутствует и корректна, JRE будет использовать новые свойства валюты только в том случае, если текущая дата UTC позже даты, указанной во время загрузки класса. Формат временной метки должен соответствовать формату ISO 8601: 'yyyy-MM-dd'T'HH:mm:ss'. Например,

#Sample currency properties
JP=JPZ,999,0

заменит данные о валюте Японии. Если JPZ является одним из существующих кодов валюты ISO 4217, используемых другими странами, существующие данные о валюте JPZ обновляются с указанным числовым кодом и значением единицы меньшего порядка.

#Sample currency properties with cutover date
JP=JPZ,999,0,2014-01-01T00:00:00

заменит данные о валюте Японии, если класс Currency загружен после 1 января 2014 года в 00:00:00 по Гринвичу.

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

Если встречаются несколько записей свойств с одинаковым кодом валюты, но разными числовыми кодами и/или единицами меньшего порядка, эти записи игнорируются, и обрабатываются оставшиеся записи в файле.

Рекомендуется использовать класс BigDecimal при работе с Currency или денежными значениями, так как он обеспечивает лучшую обработку чисел с плавающей точкой и их операций.

С момента:
1.4
См. также:
BigDecimal, Сериализованная форма

Методы

Модификатор и тип Метод Описание
static Set<Currency> getAvailableCurrencies()

Получает набор доступных валют.

String getCurrencyCode()

Получает код валюты ISO 4217 этой валюты.

int getDefaultFractionDigits()

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

String getDisplayName()

Получает имя, подходящее для отображения этой валюты для локали по умолчанию DISPLAY.

String getDisplayName​(Locale locale)

Получает имя, подходящее для отображения этой валюты для указанной локали.

static Currency getInstance​(String currencyCode)

Возвращает экземпляр Currency для заданного кода валюты.

static Currency getInstance​(Locale locale)

Возвращает экземпляр Currency для страны заданной локали.

int getNumericCode()

Возвращает числовой код ISO 4217 этой валюты.

String getNumericCodeAsString()

Возвращает 3-значный числовой код ISO 4217 этой валюты в виде String.

String getSymbol()

Получает символ этой валюты для локали по умолчанию DISPLAY.

String getSymbol​(Locale locale)

Получает символ этой валюты для указанной локали.

String toString()

Возвращает код валюты ISO 4217 этой валюты.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы

getInstance

public static Currency getInstance(String currencyCode)

Возвращает экземпляр Currency для заданного кода валюты.

Параметры:
currencyCode - код валюты ISO 4217
Возвращает:
экземпляр Currency для заданного кода валюты
Исключения:
NullPointerException - если currencyCode равно null
IllegalArgumentException - если currencyCode не является поддерживаемым кодом ISO 4217.

getInstance

public static Currency getInstance(Locale locale)

Возвращает экземпляр Currency для страны заданного локали. Компоненты языка и варианта локали игнорируются. Результат может меняться со временем, поскольку страны меняют свои валюты. Например, для оригинальных стран-членов Европейского экономического и валютного союза метод возвращает старые национальные валюты до 31 декабря 2001 года и евро с 1 января 2002 года по местному времени соответствующих стран.

Если указанный locale содержит расширения Unicode «cu» и/или «rg» расширения Unicode, экземпляр, возвращаемый этим методом, отражает значения, указанные с помощью этих расширений. Если указаны оба расширения «cu» и «rg», валюта из расширения «cu» имеет приоритет над неявной валютой из расширения «rg».

Метод возвращает null для территорий, не имеющих валюты, таких как Антарктида.

Параметры:
locale - локали, для страны которой нужен экземпляр Currency
Возвращает:
экземпляр Currency для страны заданного локали или null
Исключения:
NullPointerException - если locale является null
IllegalArgumentException - если страна заданного locale не является поддерживаемым кодом ISO 3166.

getAvailableCurrencies

public static Set<Currency> getAvailableCurrencies()

Получает набор доступных валют. Возвращаемый набор валют содержит все доступные валюты, что может включать валюты, представляющие устаревшие коды ISO 4217. Набор может быть изменён без влияния на доступные валюты во время выполнения.

Возвращает:
набор доступных валют. Если в ходе выполнения нет доступных валют, возвращаемый набор пуст.
С:
1.7

getCurrencyCode

public String getCurrencyCode()

Получает код валюты ISO 4217 этой валюты.

Возвращает:
код валюты ISO 4217 этой валюты.

getSymbol

public String getSymbol()

Получает символ этой валюты для локали по умолчанию DISPLAY. Например, для американского доллара символ — "$", если локали по умолчанию — США, а для других локалей он может быть "US$". Если символ определить нельзя, возвращается код валюты ISO 4217.

Если локали по умолчанию DISPLAY содержит расширение Unicode «rg» (переопределение региона) расширение Unicode, символ, возвращаемый этим методом, отражает значение, заданное с помощью этого расширения.

Эквивалентно вызову getSymbol(Locale.getDefault(Locale.Category.DISPLAY)).

Возвращает:
символ этой валюты для локали по умолчанию DISPLAY

getSymbol

public String getSymbol(Locale locale)

Получает символ этой валюты для указанной локали. Например, для американского доллара символ — "$", если указанная локали — США, а для других локалей он может быть "US$". Если символ определить нельзя, возвращается код валюты ISO 4217.

Если указанная locale содержит расширение Unicode «rg» (переопределение региона) расширение Unicode, символ, возвращаемый этим методом, отражает значение, заданное с помощью этого расширения.

Параметры:
locale - локали, для которой требуется имя отображения этой валюты
Возвращает:
символ этой валюты для указанной локали
Исключения:
NullPointerException - если locale равно null

getDefaultFractionDigits

public int getDefaultFractionDigits()

Получает стандартное количество знаков после запятой, используемое с этой валютой. Обратите внимание, что количество знаков после запятой совпадает с младшей единицей ISO 4217 для валюты. Например, стандартное количество знаков после запятой для евро равно 2, а для японской йены — 0. В случае псевдо-валют, таких как Специальные права заимствования МВФ, возвращается -1.

Возвращает:
стандартное количество знаков после запятой, используемое с этой валютой

getNumericCode

public int getNumericCode()

Возвращает числовой код ISO 4217 этой валюты.

Возвращает:
числовой код ISO 4217 этой валюты
С:
1.7

getNumericCodeAsString

public String getNumericCodeAsString()

Возвращает 3-значный числовой код ISO 4217 этой валюты в виде String. В отличие от getNumericCode(), которая возвращает числовой код в виде int, этот метод всегда возвращает числовой код в виде строки из 3 цифр. Например, числовое значение 32 будет возвращено как "032", а числовое значение 6 будет возвращено как "006".

Возвращает:
3-значный числовой код ISO 4217 этой валюты в виде String
С:
9

getDisplayName

public String getDisplayName()

Получает имя, подходящее для отображения этой валюты для локали по умолчанию DISPLAY. Если подходящее имя отображения для локали по умолчанию не найдено, возвращается код валюты ISO 4217.

Эквивалентно вызову getDisplayName(Locale.getDefault(Locale.Category.DISPLAY)).

Возвращает:
имя отображения этой валюты для локали по умолчанию DISPLAY
С:
1.7

getDisplayName

public String getDisplayName(Locale locale)

Получает имя, подходящее для отображения этой валюты для указанной локали. Если подходящее имя отображения для указанной локали не найдено, возвращается код валюты ISO 4217.

Параметры:
locale - локали, для которой требуется имя отображения этой валюты
Возвращает:
имя отображения этой валюты для указанной локали
Исключения:
NullPointerException - если locale равно null
С:
1.7

toString

public String toString()

Возвращает код валюты ISO 4217 этой валюты.

Переопределяет:
toString в классе Object
Возвращает:
код валюты ISO 4217 этой валюты

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Currency.html

Spec-Zone .ru
спецификации, руководства, описания, API