corejava

## Class Format

- java.lang.Object
- - corejava.Format

    public class Format
    extends java.lang.Object

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

Version:
  1.22 2002-11-16

### Constructor Summary

Constructors
Constructor and Description
`Format(java.lang.String s)` Formats the number following `printf` conventions.

### Method Summary

Methods
`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.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

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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 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(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