com.isti.util
Class PrintfFormat

java.lang.Object
  extended by com.isti.util.PrintfFormat

public class PrintfFormat
extends java.lang.Object

A class for formatting numbers that follows printf conventions. Also implements C-like atoi and atof functions

Version:
1.20 25 Mar 1998
Author:
Cay Horstmann

Constructor Summary
PrintfFormat(java.lang.String s)
          Formats the number following printf conventions.
 
Method Summary
static double atof(java.lang.String s)
          Converts a string of digits to a double
static int atoi(java.lang.String s)
          Converts a string of digits (decimal, octal or hex) to an integer
static long atol(java.lang.String s)
          Converts a string of digits (decimal, octal or hex) to a long integer
 java.lang.String format(char c)
          Formats a character into a string (like sprintf in C)
 java.lang.String format(double x)
          Formats a double into a string (like sprintf in C)
 java.lang.String format(int x)
          Formats an integer into a string (like sprintf in C)
 java.lang.String format(long x)
          Formats a long integer into a string (like sprintf in C)
 java.lang.String format(java.lang.Object obj)
          Formats the object into a string.
 java.lang.String format(java.lang.String s)
          Formats a string into a larger string (like sprintf in C)
static void main(java.lang.String[] a)
          a test stub for the format class
static void printf(java.lang.String fmt, char x)
          prints a formatted number following printf conventions
static void printf(java.lang.String fmt, double x)
          prints a formatted number following printf conventions
static void printf(java.lang.String fmt, int x)
          prints a formatted number following printf conventions
static void printf(java.lang.String fmt, long x)
          prints a formatted number following printf conventions
static void printf(java.lang.String fmt, java.lang.String x)
          prints a formatted number following printf conventions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrintfFormat

public PrintfFormat(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 string
x - 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 string
x - 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 string
x - 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 string
x - 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 string
x - 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

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(java.lang.Object obj)
Formats the object into a string.

Parameters:
obj - the Object for format
Returns:
the formatted 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