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 .
Output Format
On the first line, print US: u
where is formatted for US currency.
On the second line, print India: i
where is formatted for Indian currency.
On the third line, print China: c
where is formatted for Chinese currency.
On the fourth line, print France: f
, where is formatted for French currency.
Answer
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();
// Write your code here.
Locale local = new Locale("en","IN");
NumberFormat nf1=NumberFormat.getCurrencyInstance(Locale.US);
NumberFormat nf2=NumberFormat.getCurrencyInstance(Locale.CHINA);
NumberFormat nf3=NumberFormat.getCurrencyInstance(Locale.FRANCE);
NumberFormat nf4=NumberFormat.getCurrencyInstance(local);
String us=nf1.format(payment);
String china=nf2.format(payment);
String france=nf3.format(payment);
String india=nf4.format(payment);
System.out.println("US: " + us);
System.out.println("India: " + india);
System.out.println("China: " + china);
System.out.println("France: " + france);
}
}