Java Currency Formatter

  • [deleted]
    + 3 comments

    Am I misunderstanding how Locales work? I wasn't able to find a locale for india, and had to construct one using:

    NumberFormat inr = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
    

    for the US, I was able to just use

    NumberFormat usd = NumberFormat.getCurrencyInstance(Locale.US);
    

    My solution:

    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 usd = NumberFormat.getCurrencyInstance(Locale.US);
            System.out.println("US format = "+usd.format(payment));
            
            NumberFormat inr = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
            System.out.println("India format = "+inr.format(payment));
            
            
        }
    }