Java Currency Formatter

Sort by

recency

|

844 Discussions

|

  • + 0 comments

    import java.io.; import java.util.; import java.text.*; import java.util.Locale;

    public class Solution {

    public static void main(String[] args) { // public keyword is essential here
        Scanner scanner = new Scanner(System.in);
        double payment = scanner.nextDouble();
        scanner.close();
    
        NumberFormat usFormat = NumberFormat.getCurrencyInstance(Locale.US);
        NumberFormat indiaFormat = NumberFormat.getCurrencyInstance(new Locale("en", "IN"));
        NumberFormat chinaFormat = NumberFormat.getCurrencyInstance(Locale.CHINA);
        NumberFormat franceFormat = NumberFormat.getCurrencyInstance(Locale.FRANCE);
    
        String us = usFormat.format(payment);
        String india = indiaFormat.format(payment);
        String china = chinaFormat.format(payment);
        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);
    }
    

    }

  • + 0 comments
        
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            double payment = scanner.nextDouble();
            scanner.close();
    
            // Write your code here.
            
            System.out.println("US: " + NumberFormat.getCurrencyInstance(Locale.US).format(payment));
            System.out.println("India: " +  NumberFormat.getCurrencyInstance(new Locale("en", "IN")).format(payment));
            System.out.println("China: " +  NumberFormat.getCurrencyInstance(Locale.CHINA).format(payment));
            System.out.println("France: " +  NumberFormat.getCurrencyInstance(Locale.FRANCE).format(payment));
        }
    
  • + 1 comment

    I confirm that test is broken.

    The correct  output => China: ¥12,324.13
    The test expectations => China: ï¿¥12,324.13
    
  • + 0 comments

    My solution -

    public class Solution {
        
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            double payment = scanner.nextDouble();
            scanner.close();
            
            Locale locale_INDIA = new Locale("en", "in");
    
            // Write your code here.
            NumberFormat nf_us = NumberFormat.getCurrencyInstance(Locale.US);
            NumberFormat nf_france = NumberFormat.getCurrencyInstance(Locale.FRANCE);
            NumberFormat nf_china = NumberFormat.getCurrencyInstance(Locale.CHINA);
            NumberFormat nf_india = NumberFormat.getCurrencyInstance(locale_INDIA);
            
            String currency_us = nf_us.format(payment);
            String currency_china = nf_china.format(payment);
            String currency_france = nf_france.format(payment);
            String currency_india = nf_india.format(payment);
            
            System.out.println("US: " + currency_us);
            System.out.println("India: " + currency_india);
            System.out.println("China: " + currency_china);
            System.out.println("France: " + currency_france);
        }
    }
    
  • + 0 comments

    About Currency Format problem Your submission contains non ASCII characters, we dont accept submissions with non ASCII characters for this challenge. when java is using japa yen symbol for chinese yuan then how do we fix this please someone make it correct

    CODE :

    import java.io.*;
    import java.util.*;
    import java.math.BigDecimal;
    import java.text.NumberFormat;
    
    public class Solution {``
    
        public static void main(String[] args) {
           Scanner scan = new Scanner(System.in);
            
            String str = scan.nextLine();
            scan.close();
    
            Currency us = Currency.getInstance("USD");
            Currency india = Currency.getInstance("INR");
            Currency china = Currency.getInstance("CNY");
            Currency france = Currency.getInstance("EUR");
            
          
            Locale inr = new Locale("hi","IN");
            
            NumberFormat inrFormatter
                = NumberFormat.getCurrencyInstance(inr);
            inrFormatter.setCurrency(india);
            
            NumberFormat usdFormatter
                = NumberFormat.getCurrencyInstance(Locale.US);
            usdFormatter.setCurrency(us);
            
            NumberFormat eurFormatter
                = NumberFormat.getCurrencyInstance(Locale.FRANCE);
            eurFormatter.setCurrency(france);
            
            NumberFormat cnyFormatter
                = NumberFormat.getCurrencyInstance(Locale.CHINA);
            cnyFormatter.setCurrency(china);
            
            BigDecimal amt = new BigDecimal(str);
            
            String currInr = inrFormatter.format(amt);
            String currUs = usdFormatter.format(amt);
            String currUk = eurFormatter.format(amt);
            String currCNY = cnyFormatter.format(amt);
            
             currInr = currInr.replaceAll("[^\\x00-\\x7F]", "Rs.");
    
            System.out.println("US: " + currUs);
            System.out.println("India: " + currInr);
            System.out.println("China: " + currCNY);
            System.out.println("France: " + currUk);
    }
    }
    
    }
    

    }