Java Currency Formatter
Hint
Create a custom local for India and create NumberFormats using Locales to all the countries
Problem
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 Style
A single double-precision number denoting payment.
Constraints
0<= payment <=10^9
Output Style
On the first line, print US: u where u is payment formatted for US currency.
On the second line, print India: i where i 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
12324.134
Sample Output
US: $12,324.13
India: Rs.12,324.13
China: ¥12,324.13
France: 12 324,13 €
Explanation
Each line contains the value of payment formatted according to the four countries' respective currencies.
Recommended: Please try your approach on your integrated development environment (IDE) first, before moving on to the solution.
Few words from CodingHumans : Don't Just copy paste the solution, try to analyze the problem and solve it without looking by taking the the solution as a hint or a reference . Your understanding of the solution matters.
HAVE A GOOD DAY 😁
Solution
( Java )
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double payment = scanner.nextDouble();
scanner.close();
NumberFormat objus=NumberFormat.getCurrencyInstance(Locale.US);
NumberFormat objin=NumberFormat.getCurrencyInstance(new Locale("en","IN"));
NumberFormat objch=NumberFormat.getCurrencyInstance(Locale.CHINA);
NumberFormat objfr=NumberFormat.getCurrencyInstance(Locale.FRANCE);
String us=objus.format(payment);
String in=objin.format(payment);
String ch=objch.format(payment) ;
String fr=objfr.format(payment);
System.out.println("US: " +us );
System.out.println("India: " + in );
System.out.println("China: " + ch);
System.out.println("France: " + fr);
}
}