The Currency
class represents a currency as defined by the ISO 4217 standard. It provides information such as:
- Currency code (like
"USD"
) - Symbol (like
"$"
) - Default fraction digits (like
2
for cents in dollars)
It’s immutable and thread-safe.
Key Features
- One instance per currency (singleton per currency code)
- Supports getting currency by
Locale
orcurrency code
- Frequently used in financial applications
Commonly Used Methods

Simple Program: Currency Info by Code
import java.util.Currency; public class CurrencyByCode { public static void main(String[] args) { Currency currency = Currency.getInstance("INR"); System.out.println("Currency Code: " + currency.getCurrencyCode()); System.out.println("Currency Symbol: " + currency.getSymbol()); System.out.println("Default Fraction Digits: " + currency.getDefaultFractionDigits()); System.out.println("Currency Object toString(): " + currency); } }
Problem Statement:
LotusJavaPrince is building a global e-commerce app. He wants to display the currency symbol and name based on each user’s country so they know how much to pay. Write a program using java.util.Currency
to retrieve currency info for different locales.
import java.util.Currency; import java.util.Locale; public class CurrencyForLocales { public static void main(String[] args) { Locale[] userLocales = { new Locale("en", "US"), new Locale("en", "GB"), new Locale("ja", "JP"), new Locale("hi", "IN"), new Locale("fr", "FR"), }; System.out.println("🌍 Currency Information:"); for (Locale locale : userLocales) { Currency currency = Currency.getInstance(locale); System.out.println("-------------------------------------------------"); System.out.println("Country: " + locale.getDisplayCountry()); System.out.println("Currency Code: " + currency.getCurrencyCode()); System.out.println("Symbol: " + currency.getSymbol(locale)); System.out.println("Fraction Digits: " + currency.getDefaultFractionDigits()); } } }
Output
Currency Information:
-------------------------------------------------
Country: United States
Currency Code: USD
Symbol: $
Fraction Digits: 2
-------------------------------------------------
Country: United Kingdom
Currency Code: GBP
Symbol: £
Fraction Digits: 2
-------------------------------------------------
Country: Japan
Currency Code: JPY
Symbol: ¥
Fraction Digits: 0
-------------------------------------------------
Country: India
Currency Code: INR
Symbol: ₹
Fraction Digits: 2
-------------------------------------------------
Country: France
Currency Code: EUR
Symbol: €
Fraction Digits: 2
java.util.Currency
is a key utility when building internationalized applications.It supports standardized currency retrieval and formatting based on locale or code.Ideal for apps involving billing, finance, or multi-region support.