org.apache.commons.math3.fraction

## Class ProperBigFractionFormat

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

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

      public class ProperBigFractionFormat
      extends BigFractionFormat

  Formats a BigFraction 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: ProperBigFractionFormat.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

      `java.text.NumberFormat.Field`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static long` | `serialVersionUID` Serializable version identifier
    `private java.text.NumberFormat` | `wholeFormat` The format used for the whole number.

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

      `FRACTION_FIELD, INTEGER_FIELD`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProperBigFractionFormat()` Create a proper formatting instance with the default number format for the whole, numerator, and denominator.
    `ProperBigFractionFormat(java.text.NumberFormat format)` Create a proper formatting instance with a custom number format for the whole, numerator, and denominator.
    `ProperBigFractionFormat(java.text.NumberFormat wholeFormat, java.text.NumberFormat numeratorFormat, java.text.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
    --- | ---
    `java.lang.StringBuffer` | `format(BigFraction fraction, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)` Formats a `BigFraction` object to produce a string.
    `java.text.NumberFormat` | `getWholeFormat()` Access the whole format.
    `BigFraction` | `parse(java.lang.String source, java.text.ParsePosition pos)` Parses a string to produce a `BigFraction` object.
    `void` | `setWholeFormat(java.text.NumberFormat format)` Modify the whole format.

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

      `format, formatBigFraction, getAvailableLocales, getImproperInstance, getImproperInstance, getProperInstance, getProperInstance, parse, parseNextBigInteger`

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

      `format, format, getDefaultNumberFormat, 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`

- - ### Field Detail

    - #### serialVersionUID

          private static final long serialVersionUID

      Serializable version identifier
      See Also:
        Constant Field Values

    - #### wholeFormat

          private java.text.NumberFormat wholeFormat

      The format used for the whole number.

  - ### Constructor Detail

    - #### ProperBigFractionFormat

          public ProperBigFractionFormat()

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

    - #### ProperBigFractionFormat

          public ProperBigFractionFormat(java.text.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.

    - #### ProperBigFractionFormat

          public ProperBigFractionFormat(java.text.NumberFormat wholeFormat,
                                 java.text.NumberFormat numeratorFormat,
                                 java.text.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 java.lang.StringBuffer format(BigFraction fraction,
                                      java.lang.StringBuffer toAppendTo,
                                      java.text.FieldPosition pos)

      Formats a `BigFraction` object to produce a string. The BigFraction is output in proper format.
      Overrides:
        `format` in class `BigFractionFormat`
      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 java.text.NumberFormat getWholeFormat()

      Access the whole format.
      Returns:
        the whole format.

    - #### parse

          public BigFraction parse(java.lang.String source,
                          java.text.ParsePosition pos)

      Parses a string to produce a `BigFraction` object. This method expects the string to be formatted as a proper BigFraction.

      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 `BigFractionFormat`
      Parameters:
        `source` - the string to parse
        `pos` - input/ouput parsing parameter.
      Returns:
        the parsed `BigFraction` object.

    - #### setWholeFormat

          public void setWholeFormat(java.text.NumberFormat format)

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

Copyright (c) 2003-2013 Apache Software Foundation