Java Currency Formatter Hackerrank solution

Java Currency Formatter Hackerrank solution
Java Currency Formatter Hackerrank solution

Java Currency Formatter Hackerrank solution

Given a double-precision number, payment, denoting an amount of money, use the NumberFormat class’ getCurrencyInstance method to convert payment into the US, Indian, Chinese, and French currency formats. Then print the formatted values as follows:

US: formattedPayment
India: formattedPayment
China: formattedPayment
France: formattedPayment

where formattedPayment is payment formatted according to the appropriate Locale‘s currency.

Note: India does not have a built-in Locale, so you must construct one where the language is en (i.e., English).

Input Format

A single double-precision number denoting .


  • 0<=payment<=10^9

Output Format

On the first line, print US: u is payment where  is  formatted for US currency.
On the second line, print India: i where  is payment formatted for Indian currency.
On the third line, print China: c where c is payment   formatted for Chinese currency.
On the fourth line, print France: f, where f is payment formatted for French currency.

Sample Input


Sample Output

US: $12,324.13
India: Rs.12,324.13
China: ¥12,324.13
France: 12 324,13 €


Each line contains the value of payment formatted according to the four countries’ respective currencies.

//Java Currency Formatter Hackerrank solution

import java.util.*;
import java.text.*;

public class Solution {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(;
        double payment = scanner.nextDouble();
        // Write your code here.
                 Locale indiaLocale = new Locale("en", "IN");

        /* Create NumberFormats using Locales */
        NumberFormat us     = NumberFormat.getCurrencyInstance(Locale.US);
        NumberFormat india  = NumberFormat.getCurrencyInstance(indiaLocale);
        NumberFormat china  = NumberFormat.getCurrencyInstance(Locale.CHINA);
        NumberFormat france = NumberFormat.getCurrencyInstance(Locale.FRANCE);

        System.out.println("US: " + us);
        System.out.println("India: " + india);
        System.out.println("China: " + china);
        System.out.println("France: " + france);

//Java Currency Formatter Hackerrank solution

Disclaimer: This problem is originally created and published by HackerRank, we only provide solutions to this problem. Hence, doesn’t guarantee the truthfulness of the problem. This is only for information purposes.

Leave a Comment