org.apache.commons.math3.fraction

## Class ProperFractionFormat

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

- All Implemented Interfaces:
    Serializable, Cloneable

      public class ProperFractionFormat
      extends FractionFormat

  Formats a Fraction number in proper format. The number format for each of the whole number, numerator and, denominator can be configured.

  Minus signs are only allowed in the whole number part - i.e., "-3 1/2" is legitimate and denotes -7/2, but "-3 -1/2" is invalid and will result in a `ParseException`.

  Since:
    1.1
  Version:
    $Id: ProperFractionFormat.java 1244107 2012-02-14 16:17:55Z erans $
  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
    `ProperFractionFormat()` Create a proper formatting instance with the default number format for the whole, numerator, and denominator.
    `ProperFractionFormat(NumberFormat format)` Create a proper formatting instance with a custom number format for the whole, numerator, and denominator.
    `ProperFractionFormat(NumberFormat wholeFormat, NumberFormat numeratorFormat, NumberFormat denominatorFormat)` Create a proper formatting instance with a custom number format for each of the whole, numerator, and 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.
    `NumberFormat` | `getWholeFormat()` Access the whole format.
    `Fraction` | `parse(String source, ParsePosition pos)` Parses a string to produce a `Fraction` object.
    `void` | `setWholeFormat(NumberFormat format)` Modify the whole format.

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

      `format, formatFraction, getAvailableLocales, getDefaultNumberFormat, getImproperInstance, getImproperInstance, getProperInstance, getProperInstance, parse`

    - ### 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

    - #### ProperFractionFormat

          public ProperFractionFormat()

      Create a proper formatting instance with the default number format for the whole, numerator, and denominator.

    - #### ProperFractionFormat

          public ProperFractionFormat(NumberFormat format)

      Create a proper formatting instance with a custom number format for the whole, numerator, and denominator.
      Parameters:
        `format` - the custom format for the whole, numerator, and denominator.

    - #### ProperFractionFormat

          public ProperFractionFormat(NumberFormat wholeFormat,
                              NumberFormat numeratorFormat,
                              NumberFormat denominatorFormat)

      Create a proper formatting instance with a custom number format for each of the whole, numerator, and denominator.
      Parameters:
        `wholeFormat` - the custom format for the whole.
        `numeratorFormat` - the custom format for the numerator.
        `denominatorFormat` - the custom format for the denominator.

  - ### Method Detail

    - #### format

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

      Formats a `Fraction` object to produce a string. The fraction is output in proper format.
      Overrides:
        `format` in class `FractionFormat`
      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.

    - #### getWholeFormat

          public NumberFormat getWholeFormat()

      Access the whole format.
      Returns:
        the whole format.

    - #### 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 a proper fraction.

      Minus signs are only allowed in the whole number part - i.e., "-3 1/2" is legitimate and denotes -7/2, but "-3 -1/2" is invalid and will result in a `ParseException`.

      Overrides:
        `parse` in class `FractionFormat`
      Parameters:
        `source` - the string to parse
        `pos` - input/ouput parsing parameter.
      Returns:
        the parsed `Fraction` object.

    - #### setWholeFormat

          public void setWholeFormat(NumberFormat format)

      Modify the whole format.
      Parameters:
        `format` - The new whole format value.
      Throws:
        `NullArgumentException` - if `format` is `null`.

Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.