Locale format

 
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.Locale;

public class Main {
  static public void localizedFormat(String pattern, double value, Locale loc) {
    NumberFormat nf = NumberFormat.getNumberInstance(loc);
    DecimalFormat df = (DecimalFormat) nf;
    df.applyPattern(pattern);
    String output = df.format(value);
    System.out.println(pattern + "  " + output + "  " + loc.toString());
  }

  static public void main(String[] args) {
    Locale currentLocale = new Locale("en", "US");
    DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(
        currentLocale);
    unusualSymbols.setDecimalSeparator('|');
    unusualSymbols.setGroupingSeparator('^');
    String strange = "#,##0.###";
    DecimalFormat weirdFormatter = new DecimalFormat(strange, unusualSymbols);
    weirdFormatter.setGroupingSize(4);
    String bizarre = weirdFormatter.format(12345.678);
    System.out.println(bizarre);

    Locale[] locales = { new Locale("en", "US"), new Locale("de", "DE"),
        new Locale("fr", "FR") };

    for (int i = 0; i < locales.length; i++) {
      localizedFormat("###,###.###", 123456.789, locales[i]);
    }
  }
}
  

Output:


1^2345|678
###,###.###  123,456.789  en_US
###,###.###  123.456,789  de_DE
###,###.###  123456,789  fr_FR
Home 
  Java Book 
    Runnable examples  

Data Type Format:
  1. Decimal Format with different Symbols
  2. 0 symbol shows a digit or 0 if no digit present
  3. Currency value
  4. Decimal separator is set to "|"
  5. Fraction Digits Minimum
  6. Fraction Digits Maximum
  7. Group separators and show trailing zeroes
  8. Leading zeroes
  9. Percentage
  10. Round number to fewer decimals
  11. Scientific notation: 0.######E0 and 0.0E0
  12. . symbol indicates the decimal point
  13. ; symbol specifies an alternate pattern for negative values
  14. ' symbol quotes literal symbols
  15. The number of # to the left of the decimal point sets the multiple of the exponent.
  16. Locale format
  17. Locale US default format
  18. Number Format:0.00
  19. Number Format:#.# (one decimal point)
  20. Number Format:abc#
  21. Number Format:00E00 and 000E00
  22. Number Format:0000000000E0
  23. Number Format:#.###### (more than one decimal point)
  24. Number Format:#.000000
  25. Number Format:.###### (six decimal points)
  26. Number Format:#,###,### (group)
  27. Number Format:##00
  28. Number Format:00.00E0
  29. Number Format:0.######E0
  30. Number Format:000000E0
  31. Parse a string to a number using a NumberFormat