Package corejava
Class Format
java.lang.Object
corejava.Format
A class for formatting numbers that follows printf conventions.
Also implements C-like atoi and atof functions
- Version:
- 1.22 2002-11-16
- Author:
- Cay Horstmann 1998-09-14: Fixed a number of bugs. 1.Formatting the most extreme negative number (-9223372036854775808L) printed with 2 leading minus signs. 2.Printing 0 with a %e or %g format did not work. 3.Printing numbers that were closer to 1 than the number of requested decimal places rounded down rather than up, e.g. formatting 1.999 with %.2f printed 1.00. (This one is pretty serious, of course.) 4.Printing with precision 0 (e.g %10.0f) didn't work. 5.Printing a string with a precision that exceeded the string length (e.g. print "Hello" with %20.10s) caused a StringIndexOutOfBounds error. 1998-10-21: Changed method names from print to printf 2000-06-09: Moved to package com.horstmann; no longer part of Core Java 2000-06-09: Fixed a number of bugs. 1.Printing 100.0 with %e printed 10.0e1, not 1.0e2 2.Printing Inf and NaN didn't work. 2000-06-09: Coding guideline cleanup 2002-11-16: Move to package com.horstmann.format; licensed under LGPL
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic doubleConverts a string of digits to a doublestatic intConverts a string of digits (decimal, octal or hex) to an integerstatic longConverts a string of digits (decimal, octal or hex) to a long integerformat(char c) Formats a character into a string (like sprintf in C)format(double x) Formats a double into a string (like sprintf in C)format(int x) Formats an integer into a string (like sprintf in C)format(long x) Formats a long integer into a string (like sprintf in C)Formats a string into a larger string (like sprintf in C)static voida test stub for the format classstatic voidprints a formatted number following printf conventionsstatic voidprints a formatted number following printf conventionsstatic voidprints a formatted number following printf conventionsstatic voidprints a formatted number following printf conventionsstatic voidprints a formatted number following printf conventions
-
Constructor Details
-
Format
Formats the number following printf conventions. Main limitation: Can only handle one format parameter at a time Use multiple Format objects to format more than one number- Parameters:
s- the format string following printf conventions The string has a prefix, a format code and a suffix. The prefix and suffix become part of the formatted output. The format code directs the formatting of the (single) parameter to be formatted. The code has the following structure- a % (required)
- a modifier (optional)
- +
- forces display of + for positive numbers
- 0
- show leading zeroes
- -
- align left in the field
- space
- prepend a space in front of positive numbers
- #
- use "alternate" format. Add 0 or 0x for octal or hexadecimal numbers. Don't suppress trailing zeroes in general floating point format.
- an integer denoting field width (optional)
- a period followed by an integer denoting precision (optional)
- a format descriptor (required)
- f
- floating point number in fixed format
- e, E
- floating point number in exponential notation (scientific format). The E format results in an uppercase E for the exponent (1.14130E+003), the e format in a lowercase e.
- g, G
- floating point number in general format (fixed format for small numbers, exponential format for large numbers). Trailing zeroes are suppressed. The G format results in an uppercase E for the exponent (if any), the g format in a lowercase e.
- d, i
- integer in decimal
- x
- integer in hexadecimal
- o
- integer in octal
- s
- string
- c
- character
- Throws:
IllegalArgumentException- if bad format
-
-
Method Details
-
printf
prints a formatted number following printf conventions- Parameters:
fmt- the format stringx- the double to print
-
printf
prints a formatted number following printf conventions- Parameters:
fmt- the format stringx- the int to print
-
printf
prints a formatted number following printf conventions- Parameters:
fmt- the format stringx- the long to print
-
printf
prints a formatted number following printf conventions- Parameters:
fmt- the format stringx- the character to print
-
printf
prints a formatted number following printf conventions- Parameters:
fmt- the format stringx- a string to print
-
atoi
Converts a string of digits (decimal, octal or hex) to an integer- Parameters:
s- a string- Returns:
- the numeric value of the prefix of s representing a base 10 integer
-
atol
Converts a string of digits (decimal, octal or hex) to a long integer- Parameters:
s- a string- Returns:
- the numeric value of the prefix of s representing a base 10 integer
-
atof
Converts a string of digits to a double- Parameters:
s- a string
-
format
Formats a double into a string (like sprintf in C)- Parameters:
x- the number to format- Returns:
- the formatted string
- Throws:
IllegalArgumentException- if bad argument
-
format
Formats an integer into a string (like sprintf in C)- Parameters:
x- the number to format- Returns:
- the formatted string
-
format
Formats a long integer into a string (like sprintf in C)- Parameters:
x- the number to format- Returns:
- the formatted string
-
format
Formats a character into a string (like sprintf in C)- Parameters:
x- the value to format- Returns:
- the formatted string
-
format
Formats a string into a larger string (like sprintf in C)- Parameters:
x- the value to format- Returns:
- the formatted string
-
main
a test stub for the format class
-