Formatting Currencies in Foreign Locales in Java
Try using setCurrency on the instance returned by getCurrencyInstance(Locale.GERMANY) Broken: java.text.NumberFormat format = java.text.NumberFormat.getCurrencyInstance(java.util.Locale.GERMANY); System.out.println(format.format(23)); Output: 23,00 € Fixed: java.util.Currency usd = java.util.Currency.getInstance(“USD”); java.text.NumberFormat format = java.text.NumberFormat.getCurrencyInstance(java.util.Locale.GERMANY); format.setCurrency(usd); System.out.println(format.format(23)); Output: 23,00 USD