Package corejava

Class 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 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 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
      private static java.lang.String convert​(long x, int n, int m, java.lang.String d)  
      private java.lang.String expFormat​(double d)  
      private java.lang.String fixedFormat​(double d)  
      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
      private java.lang.String pad​(java.lang.String r)  
      private static long parseLong​(java.lang.String s, int base)  
      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
      private static java.lang.String repeat​(char c, int n)  
      private java.lang.String sign​(int s, java.lang.String r)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 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
      • 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)