Class 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
    • Constructor Summary

      Constructors 
      Constructor Description
      Format​(String s)
      Formats the number following printf conventions.
    • 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 double
      static int atoi​(String s)
      Converts a string of digits (decimal, octal or hex) to an integer
      static long atol​(String s)
      Converts a string of digits (decimal, octal or hex) to a long integer
      String 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 class
      static void printf​(String fmt, char x)
      prints a formatted number following printf conventions
      static void printf​(String fmt, double x)
      prints a formatted number following printf conventions
      static void printf​(String fmt, int x)
      prints a formatted number following printf conventions
      static void printf​(String fmt, long x)
      prints a formatted number following printf conventions
      static 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 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
      • 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