FractionFormat (Apache Commons Math 3.3 API)

org.apache.commons.math3.fraction

## Class FractionFormat

- java.lang.Object
- - java.text.Format
  - - java.text.NumberFormat
    - - org.apache.commons.math3.fraction.AbstractFormat
      - - org.apache.commons.math3.fraction.FractionFormat

- All Implemented Interfaces:
    Serializable, Cloneable
  Direct Known Subclasses:
    ProperFractionFormat

      public class FractionFormat
      extends AbstractFormat

  Formats a Fraction number in proper format or improper format. The number format for each of the whole number, numerator and, denominator can be configured.
  Since:
    1.1
  Version:
    $Id: FractionFormat.java 1416643 2012-12-03 19:37:14Z tn $
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.text.NumberFormat

      `NumberFormat.Field`

  - ### Field Summary

    - ### Fields inherited from class java.text.NumberFormat

      `FRACTION_FIELD, INTEGER_FIELD`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FractionFormat()` Create an improper formatting instance with the default number format for the numerator and denominator.
    `FractionFormat(NumberFormat format)` Create an improper formatting instance with a custom number format for both the numerator and denominator.
    `FractionFormat(NumberFormat numeratorFormat, NumberFormat denominatorFormat)` Create an improper formatting instance with a custom number format for the numerator and a custom number format for the denominator.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `StringBuffer` | `format(Fraction fraction, StringBuffer toAppendTo, FieldPosition pos)` Formats a `Fraction` object to produce a string.
    `StringBuffer` | `format(Object obj, StringBuffer toAppendTo, FieldPosition pos)` Formats an object and appends the result to a StringBuffer.
    `static String` | `formatFraction(Fraction f)` This static method calls formatFraction() on a default instance of FractionFormat.
    `static Locale[]` | `getAvailableLocales()` Get the set of locales for which complex formats are available.
    `protected static NumberFormat` | `getDefaultNumberFormat()` Create a default number format.
    `static FractionFormat` | `getImproperInstance()` Returns the default complex format for the current locale.
    `static FractionFormat` | `getImproperInstance(Locale locale)` Returns the default complex format for the given locale.
    `static FractionFormat` | `getProperInstance()` Returns the default complex format for the current locale.
    `static FractionFormat` | `getProperInstance(Locale locale)` Returns the default complex format for the given locale.
    `Fraction` | `parse(String source)` Parses a string to produce a `Fraction` object.
    `Fraction` | `parse(String source, ParsePosition pos)` Parses a string to produce a `Fraction` object.

    - ### Methods inherited from class org.apache.commons.math3.fraction.AbstractFormat

      `format, format, getDefaultNumberFormat, getDenominatorFormat, getNumeratorFormat, parseAndIgnoreWhitespace, parseNextCharacter, setDenominatorFormat, setNumeratorFormat`

    - ### Methods inherited from class java.text.NumberFormat

      `clone, equals, format, format, getCurrency, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, getRoundingMode, hashCode, isGroupingUsed, isParseIntegerOnly, parseObject, setCurrency, setGroupingUsed, setMaximumFractionDigits, setMaximumIntegerDigits, setMinimumFractionDigits, setMinimumIntegerDigits, setParseIntegerOnly, setRoundingMode`

    - ### Methods inherited from class java.text.Format

      `format, formatToCharacterIterator, parseObject`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FractionFormat

          public FractionFormat()

      Create an improper formatting instance with the default number format for the numerator and denominator.

    - #### FractionFormat

          public FractionFormat(NumberFormat format)

      Create an improper formatting instance with a custom number format for both the numerator and denominator.
      Parameters:
        `format` - the custom format for both the numerator and denominator.

    - #### FractionFormat

          public FractionFormat(NumberFormat numeratorFormat,
                        NumberFormat denominatorFormat)

      Create an improper formatting instance with a custom number format for the numerator and a custom number format for the denominator.
      Parameters:
        `numeratorFormat` - the custom format for the numerator.
        `denominatorFormat` - the custom format for the denominator.

  - ### Method Detail

    - #### getAvailableLocales

          public static Locale[] getAvailableLocales()

      Get the set of locales for which complex formats are available. This is the same set as the `NumberFormat` set.
      Returns:
        available complex format locales.

    - #### formatFraction

          public static String formatFraction(Fraction f)

      This static method calls formatFraction() on a default instance of FractionFormat.
      Parameters:
        `f` - Fraction object to format
      Returns:
        a formatted fraction in proper form.

    - #### getImproperInstance

          public static FractionFormat getImproperInstance()

      Returns the default complex format for the current locale.
      Returns:
        the default complex format.

    - #### getImproperInstance

          public static FractionFormat getImproperInstance(Locale locale)

      Returns the default complex format for the given locale.
      Parameters:
        `locale` - the specific locale used by the format.
      Returns:
        the complex format specific to the given locale.

    - #### getProperInstance

          public static FractionFormat getProperInstance()

      Returns the default complex format for the current locale.
      Returns:
        the default complex format.

    - #### getProperInstance

          public static FractionFormat getProperInstance(Locale locale)

      Returns the default complex format for the given locale.
      Parameters:
        `locale` - the specific locale used by the format.
      Returns:
        the complex format specific to the given locale.

    - #### getDefaultNumberFormat

          protected static NumberFormat getDefaultNumberFormat()

      Create a default number format. The default number format is based on `NumberFormat.getNumberInstance(java.util.Locale)` with the only customizing is the maximum number of fraction digits, which is set to 0.
      Returns:
        the default number format.

    - #### format

          public StringBuffer format(Fraction fraction,
                            StringBuffer toAppendTo,
                            FieldPosition pos)

      Formats a `Fraction` object to produce a string. The fraction is output in improper format.
      Parameters:
        `fraction` - the object to format.
        `toAppendTo` - where the text is to be appended
        `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
      Returns:
        the value passed in as toAppendTo.

    - #### format

          public StringBuffer format(Object obj,
                            StringBuffer toAppendTo,
                            FieldPosition pos)
                              throws FractionConversionException,
                                     MathIllegalArgumentException

      Formats an object and appends the result to a StringBuffer. `obj` must be either a `Fraction` object or a `Number` object. Any other type of object will result in an `IllegalArgumentException` being thrown.
      Overrides:
        `format` in class `NumberFormat`
      Parameters:
        `obj` - the object to format.
        `toAppendTo` - where the text is to be appended
        `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
      Returns:
        the value passed in as toAppendTo.
      Throws:
        `FractionConversionException` - if the number cannot be converted to a fraction
        `MathIllegalArgumentException` - if `obj` is not a valid type.
      See Also:
        `Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)`

    - #### parse

          public Fraction parse(String source)
                         throws MathParseException

      Parses a string to produce a `Fraction` object.
      Overrides:
        `parse` in class `NumberFormat`
      Parameters:
        `source` - the string to parse
      Returns:
        the parsed `Fraction` object.
      Throws:
        `MathParseException` - if the beginning of the specified string cannot be parsed.

    - #### parse

          public Fraction parse(String source,
                       ParsePosition pos)

      Parses a string to produce a `Fraction` object. This method expects the string to be formatted as an improper fraction.
      Specified by:
        `parse` in class `NumberFormat`
      Parameters:
        `source` - the string to parse
        `pos` - input/output parsing parameter.
      Returns:
        the parsed `Fraction` object.

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.