![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e311. Formatting a Number Using a Custom FormatA pattern of special characters is used to specify the format of the number. This example demonstrates some of the characters. For a complete listing, see the javadoc documentation for theDecimalFormat class.
There is no symbol that either displays a digit or a blank if no digit present. Hence, it is not possible to format a number so that it will have a specific width. To achieve a specific width, you must manually pad the formatted number. // The 0 symbol shows a digit or 0 if no digit present NumberFormat formatter = new DecimalFormat("000000"); String s = formatter.format(-1234.567); // -001235 // notice that the number was rounded up // The # symbol shows a digit or nothing if no digit present formatter = new DecimalFormat("##"); s = formatter.format(-1234.567); // -1235 s = formatter.format(0); // 0 formatter = new DecimalFormat("##00"); s = formatter.format(0); // 00 // The . symbol indicates the decimal point formatter = new DecimalFormat(".00"); s = formatter.format(-.567); // -.57 formatter = new DecimalFormat("0.00"); s = formatter.format(-.567); // -0.57 formatter = new DecimalFormat("#.#"); s = formatter.format(-1234.567); // -1234.6 formatter = new DecimalFormat("#.######"); s = formatter.format(-1234.567); // -1234.567 formatter = new DecimalFormat(".######"); s = formatter.format(-1234.567); // -1234.567 formatter = new DecimalFormat("#.000000"); s = formatter.format(-1234.567); // -1234.567000 // The , symbol is used to group numbers formatter = new DecimalFormat("#,###,###"); s = formatter.format(-1234.567); // -1,235 s = formatter.format(-1234567.890); // -1,234,568 // The ; symbol is used to specify an alternate pattern for negative values formatter = new DecimalFormat("#;(#)"); s = formatter.format(-1234.567); // (1235) // The ' symbol is used to quote literal symbols formatter = new DecimalFormat("'#'#"); s = formatter.format(-1234.567); // -#1235 formatter = new DecimalFormat("'abc'#"); s = formatter.format(-1234.567); // -abc1235
e313. Formatting a Number in Exponential Notation e314. Formatting and Parsing Locale-Specific Currency e315. Formatting and Parsing a Locale-Specific Percentage
© 2002 Addison-Wesley. |