Java Currency Formatter

Sort by

recency

|

905 Discussions

|

  • + 0 comments

    US: ¥ €12,324.13 India: Rs.12,324.13 China: ¥12,324.13 France: 12 324,13 € What is hte error in this

  • + 0 comments

    To pass all tests, Java 8 must be used.

  • + 0 comments

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

    public class Solution {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double payment = scanner.nextDouble();
        scanner.close();
    
        // US Locale
        NumberFormat us = NumberFormat.getCurrencyInstance(Locale.US);
    
        // India Locale (custom, because no built-in Locale)
        Locale indiaLocale = new Locale("en", "IN");
        NumberFormat india = NumberFormat.getCurrencyInstance(indiaLocale);
    
        // China Locale
        NumberFormat china = NumberFormat.getCurrencyInstance(Locale.CHINA);
    
        // France Locale
        NumberFormat france = NumberFormat.getCurrencyInstance(Locale.FRANCE);
    
        System.out.println("US: " + us.format(payment));
        System.out.println("India: " + india.format(payment));
        System.out.println("China: " + china.format(payment));
        System.out.println("France: " + france.format(payment));
    }
    

    }

    
    
  • + 0 comments

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

    public class Solution {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double payment = scanner.nextDouble();
        scanner.close();
    
        // US Locale
        NumberFormat us = NumberFormat.getCurrencyInstance(Locale.US);
    
        // India Locale (custom, because no built-in Locale)
        Locale indiaLocale = new Locale("en", "IN");
        NumberFormat india = NumberFormat.getCurrencyInstance(indiaLocale);
    
        // China Locale
        NumberFormat china = NumberFormat.getCurrencyInstance(Locale.CHINA);
    
        // France Locale
        NumberFormat france = NumberFormat.getCurrencyInstance(Locale.FRANCE);
    
        System.out.println("US: " + us.format(payment));
        System.out.println("India: " + india.format(payment));
        System.out.println("China: " + china.format(payment));
        System.out.println("France: " + france.format(payment));
    }
    

    }

    
    
  • + 1 comment

    just run in Java 7 to pass all the testcases otherwise in java 15 it won't pass even you output is exactly the same, even if you try changing the encodings.

    import java.io.*;
    import java.util.*;
    import java.text.NumberFormat;
    import java.text.DecimalFormat;
    import java.text.DecimalFormatSymbols;
    
    
    public class Solution {
    
        public static void main(String[] args) {
            /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
            
            Scanner scanner = new Scanner(System.in);
            double payment = scanner.nextDouble();
            scanner.close();
    
            NumberFormat usFormat = NumberFormat.getCurrencyInstance(Locale.US);
            String us = usFormat.format(payment);
    
            Locale indiaLocale = new Locale("en", "IN");
            NumberFormat indiaFormat = NumberFormat.getCurrencyInstance(indiaLocale);
            DecimalFormatSymbols dfs = ((DecimalFormat) indiaFormat).getDecimalFormatSymbols();
            dfs.setCurrencySymbol("Rs.");
            ((DecimalFormat) indiaFormat).setDecimalFormatSymbols(dfs);
            String india = indiaFormat.format(payment);
    
            NumberFormat chinaFormat = NumberFormat.getCurrencyInstance(Locale.CHINA);
            String china = chinaFormat.format(payment);
            //china = china.substring(0,1)+ " " + china.substring(1);
    
            NumberFormat franceFormat = NumberFormat.getCurrencyInstance(Locale.FRANCE);
            String france = franceFormat.format(payment);
    
            System.out.println("US: " + us);
            System.out.println("India: " + india);
            System.out.println("China: " + china);
            System.out.println("France: " + france);
            
        }
    }