Package corejava
Class Format
- java.lang.Object
-
- corejava.Format
-
public class Format extends java.lang.ObjectA class for formatting numbers that follows printf conventions. Also implements C-like atoi and atof functions- Version:
- 1.22 2002-11-16
-
-
Field Summary
Fields Modifier and Type Field Description private booleanalternateprivate charfmtprivate booleanleadingZeroesprivate booleanleftAlignprivate java.lang.Stringpostprivate java.lang.Stringpreprivate intprecisionprivate booleanshowPlusprivate booleanshowSpaceprivate intwidth
-
Constructor Summary
Constructors Constructor Description Format(java.lang.String s)Formats the number following printf conventions.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static doubleatof(java.lang.String s)Converts a string of digits to a doublestatic intatoi(java.lang.String s)Converts a string of digits (decimal, octal or hex) to an integerstatic longatol(java.lang.String s)Converts a string of digits (decimal, octal or hex) to a long integerprivate static java.lang.Stringconvert(long x, int n, int m, java.lang.String d)private java.lang.StringexpFormat(double d)private java.lang.StringfixedFormat(double d)java.lang.Stringformat(char c)Formats a character into a string (like sprintf in C)java.lang.Stringformat(double x)Formats a double into a string (like sprintf in C)java.lang.Stringformat(int x)Formats an integer into a string (like sprintf in C)java.lang.Stringformat(long x)Formats a long integer into a string (like sprintf in C)java.lang.Stringformat(java.lang.String s)Formats a string into a larger string (like sprintf in C)static voidmain(java.lang.String[] a)a test stub for the format classprivate java.lang.Stringpad(java.lang.String r)private static longparseLong(java.lang.String s, int base)static voidprintf(java.lang.String fmt, char x)prints a formatted number following printf conventionsstatic voidprintf(java.lang.String fmt, double x)prints a formatted number following printf conventionsstatic voidprintf(java.lang.String fmt, int x)prints a formatted number following printf conventionsstatic voidprintf(java.lang.String fmt, long x)prints a formatted number following printf conventionsstatic voidprintf(java.lang.String fmt, java.lang.String x)prints a formatted number following printf conventionsprivate static java.lang.Stringrepeat(char c, int n)private java.lang.Stringsign(int s, java.lang.String r)
-
-
-
Field Detail
-
width
private int width
-
precision
private int precision
-
pre
private java.lang.String pre
-
post
private java.lang.String post
-
leadingZeroes
private boolean leadingZeroes
-
showPlus
private boolean showPlus
-
alternate
private boolean alternate
-
showSpace
private boolean showSpace
-
leftAlign
private boolean leftAlign
-
fmt
private char fmt
-
-
Constructor Detail
-
Format
public Format(java.lang.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:
java.lang.IllegalArgumentException- if bad format
-
-
Method Detail
-
printf
public static void printf(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.String fmt, java.lang.String x)prints a formatted number following printf conventions- Parameters:
fmt- the format stringx- a string to print
-
atoi
public static int atoi(java.lang.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(java.lang.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
-
parseLong
private static long parseLong(java.lang.String s, int base)
-
atof
public static double atof(java.lang.String s)
Converts a string of digits to a double- Parameters:
s- a string
-
format
public java.lang.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:
java.lang.IllegalArgumentException- if bad argument
-
format
public java.lang.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 java.lang.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 java.lang.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 java.lang.String format(java.lang.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(java.lang.String[] a)
a test stub for the format class
-
repeat
private static java.lang.String repeat(char c, int n)
-
convert
private static java.lang.String convert(long x, int n, int m, java.lang.String d)
-
pad
private java.lang.String pad(java.lang.String r)
-
sign
private java.lang.String sign(int s, java.lang.String r)
-
fixedFormat
private java.lang.String fixedFormat(double d)
-
expFormat
private java.lang.String expFormat(double d)
-
-