public final class Currency extends Object implements Serializable
クラスは、指定された通貨のCurrency
インスタンスが複数存在しないように設計されています。したがって、クラスにはpublicコンストラクタがありません。getInstance
メソッドを使用して、Currency
インスタンスを取得します。
ユーザーはjava.util.currency.data
システム・プロパティを使って、Javaランタイム通貨データを置き換えることができます。このシステム・プロパティが定義されている場合、その値はプロパティ・ファイルの場所であり、そのファイル内容はISO 3166国コードとISO 4217通貨データからなるキーと値のペアです。値の部分はISO 4217の3つの通貨の値、つまり、英字コード、数値コード、マイナー単位で構成されます。これら3つのISO 4217の値はカンマで区切られています。「#」で始まる行はコメント行としてみなされます。ユーザーが切換え日を指定して新しいデータが有効になる時期を示す必要がある場合は、通貨エントリごとにオプションのUTCタイムスタンプを指定できます。そのタイムスタンプは通貨プロパティの最後に追加され、区切り文字としてコンマを使用します。UTC日付スタンプが存在し、有効である場合、JREでは、現在のUTC日付が、クラスのロード時に指定された日付よりも後にあるときにのみ、新しい通貨プロパティを使用します。タイムスタンプのフォーマットは、ISO 8601形式の'yyyy-MM-dd'T'HH:mm:ss'
である必要があります。次に例を示します。
#Sample currency properties
JP=JPZ,999,0
日本の通貨データがこれに置き換わります。
#Sample currency properties with cutover date
JP=JPZ,999,0,2014-01-01T00:00:00
Currency
クラスが2014年1月1日00:00:00 GMTより後にロードされる場合は、日本の通貨データがこれに置き換わります。
構文的に不正な形式のエントリが検出された場合、そのエントリは無視され、ファイル内の残りのエントリは処理されます。たとえば、国コード・エントリが重複して存在する場合、そのCurrency
の通貨情報の動作は未定義であり、ファイル内の残りのエントリが処理されます。
修飾子と型 | メソッドと説明 |
---|---|
static Set<Currency> |
getAvailableCurrencies()
利用可能な通貨のセットを取得します。
|
String |
getCurrencyCode()
この通貨のISO 4217通貨コードを取得します。
|
int |
getDefaultFractionDigits()
この通貨で使用される小数のデフォルトの桁数を取得します。
|
String |
getDisplayName()
デフォルトの
DISPLAY ロケールでこの通貨を表示するのに適した名前を取得します。 |
String |
getDisplayName(Locale locale)
指定されたロケールでこの通貨を表示するのに適した名前を取得します。
|
static Currency |
getInstance(Locale locale)
指定されたロケールの国の
Currency インスタンスを返します。 |
static Currency |
getInstance(String currencyCode)
指定された通貨コードの
Currency インスタンスを返します。 |
int |
getNumericCode()
この通貨のISO 4217数値コードを返します。
|
String |
getSymbol()
デフォルトの
DISPLAY ロケールについて、その通貨の記号を取得します。 |
String |
getSymbol(Locale locale)
指定されたロケールでのこの通貨の記号を取得します。
|
String |
toString()
その通貨のISO 4217通貨コードを返します。
|
public static Currency getInstance(String currencyCode)
Currency
インスタンスを返します。currencyCode
- 通貨のISO 4217コードCurrency
インスタンスNullPointerException
- currencyCode
がnullである場合IllegalArgumentException
- currencyCode
が、サポートされたISO 4217コードでない場合。public static Currency getInstance(Locale locale)
Currency
インスタンスを返します。ロケールの言語コンポーネントおよびバリアント・コンポーネントは無視されます。国によって通貨が変更されるので、時の経過とともに結果が変わる場合があります。たとえば、欧州通貨統合のオリジナル・メンバーの国々の場合、2001年12月31日までは各国の従来の通貨、そして各国の現地時間の2002年1月1日からはメソッドはEuroを返します。
メソッドは、南極大陸などの通貨を持たない地域についてはnull
を返します。
locale
- Currency
インスタンスが必要な国のロケールCurrency
インスタンス、またはnull
NullPointerException
- locale
またはその国コードがnull
の場合IllegalArgumentException
- 指定されたlocale
の国がサポートされたISO 3166国コードでない場合。public static Set<Currency> getAvailableCurrencies()
public String getCurrencyCode()
public String getSymbol()
DISPLAY
ロケールについて、その通貨の記号を取得します。たとえば、USドルについては、デフォルトのロケールがUSの場合は、記号は「$」になります。ほかのロケールの場合は、記号は「US$」になります。記号を判断できない場合は、ISO 4217通貨コードを返します。
これは、getSymbol(Locale.getDefault(Locale.Category.DISPLAY))
を呼び出すことと同等です。
DISPLAY
ロケールでのこの通貨の記号public String getSymbol(Locale locale)
locale
- この通貨の表示名が必要なロケールNullPointerException
- locale
がnullである場合public int getDefaultFractionDigits()
public int getNumericCode()
public String getDisplayName()
DISPLAY
ロケールでこの通貨を表示するのに適した名前を取得します。デフォルトのロケールで適した表示名が見つからない場合、ISO 4217通貨コードが返されます。
これは、getDisplayName(Locale.getDefault(Locale.Category.DISPLAY))
を呼び出すことと同等です。
DISPLAY
ロケールでのこの通貨の表示名public String getDisplayName(Locale locale)
locale
- この通貨の表示名が必要なロケールNullPointerException
- locale
がnullである場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.