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
2for cents in dollars)
It’s immutable and thread-safe.
Key Features
- One instance per currency (singleton per currency code)
- Supports getting currency by
Localeorcurrency 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.
