Package corejava

Class Format

java.lang.Object
corejava.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
  • Field Details

    • width

      private int width
    • precision

      private int precision
    • pre

      private String pre
    • post

      private 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 Details

    • 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 Details

    • printf

      public static void printf(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(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(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(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(String fmt, String x)
      prints a formatted number following printf conventions
      Parameters:
      fmt - the format string
      x - 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
    • parseLong

      private static long parseLong(String s, int base)
    • 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
    • repeat

      private static String repeat(char c, int n)
    • convert

      private static String convert(long x, int n, int m, String d)
    • pad

      private String pad(String r)
    • sign

      private String sign(int s, String r)
    • fixedFormat

      private String fixedFormat(double d)
    • expFormat

      private String expFormat(double d)