Package com.horstmann.format
Class Format
- java.lang.Object
-
- com.horstmann.format.Format
-
public class Format extends Object
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static double
atof(String s)
Converts a string of digits to a doublestatic int
atoi(String s)
Converts a string of digits (decimal, octal or hex) to an integerstatic long
atol(String s)
Converts a string of digits (decimal, octal or hex) to a long integerString
format(char c)
Formats a character into a string (like sprintf in C)String
format(double x)
Formats a double into a string (like sprintf in C)String
format(int x)
Formats an integer into a string (like sprintf in C)String
format(long x)
Formats a long integer into a string (like sprintf in C)String
format(String s)
Formats a string into a larger string (like sprintf in C)static void
main(String[] a)
a test stub for the format classstatic void
printf(String fmt, char x)
prints a formatted number following printf conventionsstatic void
printf(String fmt, double x)
prints a formatted number following printf conventionsstatic void
printf(String fmt, int x)
prints a formatted number following printf conventionsstatic void
printf(String fmt, long x)
prints a formatted number following printf conventionsstatic void
printf(String fmt, String x)
prints a formatted number following printf conventions
-
-
-
Constructor Detail
-
Format
public Format(String s)
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 Detail
-
printf
public static void printf(String fmt, double x)
prints a formatted number following printf conventions- Parameters:
fmt
- the format stringx
- the double to print
-
printf
public static void printf(String fmt, int x)
prints a formatted number following printf conventions- Parameters:
fmt
- the format stringx
- the int to print
-
printf
public static void printf(String fmt, long x)
prints a formatted number following printf conventions- Parameters:
fmt
- the format stringx
- the long to print
-
printf
public static void printf(String fmt, char x)
prints a formatted number following printf conventions- Parameters:
fmt
- the format stringx
- the character to print
-
printf
public static void printf(String fmt, String x)
prints a formatted number following printf conventions- Parameters:
fmt
- the format stringx
- a string to print
-
atoi
public static int atoi(String s)
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
public static long atol(String s)
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
public static double atof(String s)
Converts a string of digits to a double- Parameters:
s
- a string
-
format
public String format(double x)
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
public String format(int x)
Formats an integer into a string (like sprintf in C)- Parameters:
x
- the number to format- Returns:
- the formatted string
-
format
public String format(long x)
Formats a long integer into a string (like sprintf in C)- Parameters:
x
- the number to format- Returns:
- the formatted string
-
format
public String format(char c)
Formats a character into a string (like sprintf in C)- Parameters:
x
- the value to format- Returns:
- the formatted string
-
format
public String format(String s)
Formats a string into a larger string (like sprintf in C)- Parameters:
x
- the value to format- Returns:
- the formatted string
-
main
public static void main(String[] a)
a test stub for the format class
-
-