OUTPUTTING CURRENCIES How to print out a Currency in Java is an often-missed topic. The issue is how should a Currency be printed out in an international, standardized way? The java.text.NumberFormat class is used for outputting numbers. It handles decimal points and inserting commas. For example: 10000.1273333 --> 10,000.13 It also handles internationalization. Many locales use a space or a dot to separate the thousands and a comma to separate the decimals. For example in Hungary, the above would be: 10000.1273333 --> 10 000,13. However, the NumberFormat class can do more. It has a Currency instance that knows what symbols to use when outputting a currency and how to format the number. For example, 50000.25 in the United States would be, $50,000.25. Whereas in Hungary, it would be Ft50 000,250. The easiest way to print a value is to use the default Locale: Locale loc = Locale.getDefault(); NumberFormat nf = NumberFormat. getCurrencyInstance(loc); System.out.println(nf.format(50444.423)); Also, you can easily print out all the Currency formats in the available Locales: import java.text.NumberFormat; import java.util.Locale; public class Currency { static public void main(String[] strs) { Locale[] locs = NumberFormat. getAvailableLocales(); for(int i=0; i