java.util.Currency

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 or currency 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.

Scroll to Top