To format currency, call NumberFormat.getCurrencyInstance(). : Formatter « Utility Classes « SCJP






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

public class MainClass{
    public static void main(String[] argv){
        Locale[] locales = { Locale.US, Locale.TAIWAN };
        for (Locale loc:locales) {
          NumberFormat f = NumberFormat.getCurrencyInstance(loc);
          String formattedMoney = f.format(123.45);
          System.out.format("%15s: %s\n",
                              loc.getDisplayCountry(),
                              formattedMoney);
        }
    }
}
United States: $123.45
         Taiwan: NT$123.45








8.25.Formatter
8.25.1.%b Formats a boolean value (wrapper or primitive)
8.25.2.%c Formats a character
8.25.3.%d Formats an integer
8.25.4.%f Formats a floating-point number
8.25.5.%s Formats an object, generally by calling its toString() method
8.25.6.By default, arguments are formatted in their order of appearance in Formatter.
8.25.7.Stick a number and then a dollar sign ($) immediately after the % sign to set the order
8.25.8.Justified a field with Formatter
8.25.9.Control the number of characters that will appear to the right of the decimal point: %w.df
8.25.10.Internationalization and Formatter
8.25.11.Formatting Dates with java.text.DateFormat
8.25.12.Prints out a date in each of the four formats. (The locale is the U.S.)
8.25.13.DateFormat.getDateInstance() accepts a style and a locale.
8.25.14.Formatting Numbers and Currency
8.25.15.To format currency, call NumberFormat.getCurrencyInstance().
8.25.16.The Locale Class
8.25.17.Create Strings that represent a given locale's country and language in terms of both the default locale and any other locale:
8.25.18.The NumberFormat Class
8.25.19.Use getMaximumFractionDigits(), setMaximumFractionDigits(), parse(), and setParseIntegerOnly():