Class 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.

    See Also:
    Serialized Form
    • 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.
        Throws:
        NullArgumentException - if the provided format is null.
      • 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.
        Throws:
        NullArgumentException - if either provided format is null.
    • 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.
      • getDefaultNumberFormat

        protected static NumberFormat getDefaultNumberFormat​(Locale locale)
        Create a default number format. The default number format is based on NumberFormat.getNumberInstance(java.util.Locale). The only customization is the maximum number of BigFraction digits, which is set to 0.
        Parameters:
        locale - the specific locale used by the format.
        Returns:
        the default number format specific to the given locale.
      • getDenominatorFormat

        public NumberFormat getDenominatorFormat()
        Access the denominator format.
        Returns:
        the denominator format.
      • getNumeratorFormat

        public NumberFormat getNumeratorFormat()
        Access the numerator format.
        Returns:
        the numerator format.
      • parseAndIgnoreWhitespace

        protected static void parseAndIgnoreWhitespace​(String source,
                                                       ParsePosition pos)
        Parses source until a non-whitespace character is found.
        Parameters:
        source - the string to parse
        pos - input/output parsing parameter. On output, pos holds the index of the next non-whitespace character.
      • parseNextCharacter

        protected static char parseNextCharacter​(String source,
                                                 ParsePosition pos)
        Parses source until a non-whitespace character is found.
        Parameters:
        source - the string to parse
        pos - input/output parsing parameter.
        Returns:
        the first non-whitespace character.