Parallel Colt 0.7.2

corejava
Class Format

java.lang.Object
  extended by 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
Author:
Cay Horstmann 1998-09-14: Fixed a number of bugs. 1.Formatting the most extreme negative number (-9223372036854775808L) printed with 2 leading minus signs. 2.Printing 0 with a %e or %g format did not work. 3.Printing numbers that were closer to 1 than the number of requested decimal places rounded down rather than up, e.g. formatting 1.999 with %.2f printed 1.00. (This one is pretty serious, of course.) 4.Printing with precision 0 (e.g %10.0f) didn't work. 5.Printing a string with a precision that exceeded the string length (e.g. print "Hello" with %20.10s) caused a StringIndexOutOfBounds error. 1998-10-21: Changed method names from print to printf 2000-06-09: Moved to package com.horstmann; no longer part of Core Java 2000-06-09: Fixed a number of bugs. 1.Printing 100.0 with %e printed 10.0e1, not 1.0e2 2.Printing Inf and NaN didn't work. 2000-06-09: Coding guideline cleanup 2002-11-16: Move to package com.horstmann.format; licensed under LGPL

Constructor Summary
Format(String s)
          Formats the number following printf conventions.
 
Method Summary
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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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:
c - 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:
s - the value to format
Returns:
the formatted string

main

public static void main(String[] a)
a test stub for the format class


Parallel Colt 0.7.2

Jump to the Parallel Colt Homepage