Spec-Zone.ru › OpenJDK 17

Класс Currency

java.lang.Object
java.util.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 или денежными значениями, так как он обеспечивает лучшую обработку чисел с плавающей запятой и их операций.

Since:
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()
Возвращает числовой код ISO 4217 этой валюты (3 цифры) как 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 содержит "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 содержит "rg" (переопределение региона) расширение Unicode, символ, возвращаемый этим методом, отражает значение, указанное с помощью этого расширения.

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

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

getSymbol

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

Если указанное locale содержит "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, 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/util/Currency.html

Spec-Zone.ru

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