Class BigFractionFormat

java.lang.Object
java.text.Format
java.text.NumberFormat
org.hipparchus.fraction.BigFractionFormat
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
ProperBigFractionFormat

public class BigFractionFormat extends NumberFormat implements Serializable
Formats a BigFraction number in proper format or improper format.

The number format for each of the whole number, numerator and, denominator can be configured.

See Also:
  • Constructor Details

    • BigFractionFormat

      public BigFractionFormat()
      Create an improper formatting instance with the default number format for the numerator and denominator.
    • BigFractionFormat

      public BigFractionFormat(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.
      Throws:
      NullArgumentException - if the provided format is null.
    • BigFractionFormat

      public BigFractionFormat(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.
      Throws:
      NullArgumentException - if either provided format is null.
  • Method Details

    • 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.
    • formatBigFraction

      public static String formatBigFraction(BigFraction f)
      This static method calls formatBigFraction() on a default instance of BigFractionFormat.
      Parameters:
      f - BigFraction object to format
      Returns:
      A formatted BigFraction in proper form.
    • getImproperInstance

      public static BigFractionFormat getImproperInstance()
      Returns the default complex format for the current locale.
      Returns:
      the default complex format.
    • getImproperInstance

      public static BigFractionFormat 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 BigFractionFormat getProperInstance()
      Returns the default complex format for the current locale.
      Returns:
      the default complex format.
    • getProperInstance

      public static BigFractionFormat 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.
    • format

      public StringBuffer format(BigFraction BigFraction, StringBuffer toAppendTo, FieldPosition pos)
      Formats a BigFraction object to produce a string. The BigFraction is output in improper format.
      Parameters:
      BigFraction - 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)
      Formats an object and appends the result to a StringBuffer. obj must be either a BigFraction object or a BigInteger 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:
      MathIllegalArgumentException - if obj is not a valid type.
      See Also:
    • parse

      public BigFraction parse(String source) throws MathIllegalStateException
      Parses a string to produce a BigFraction object.
      Overrides:
      parse in class NumberFormat
      Parameters:
      source - the string to parse
      Returns:
      the parsed BigFraction object.
      Throws:
      MathIllegalStateException - if the beginning of the specified string cannot be parsed.
    • parse

      public BigFraction parse(String source, ParsePosition pos)
      Parses a string to produce a BigFraction object. This method expects the string to be formatted as an improper BigFraction.
      Specified by:
      parse in class NumberFormat
      Parameters:
      source - the string to parse
      pos - input/output parsing parameter.
      Returns:
      the parsed BigFraction object.
    • parseNextBigInteger

      protected BigInteger parseNextBigInteger(String source, ParsePosition pos)
      Parses a string to produce a BigInteger.
      Parameters:
      source - the string to parse
      pos - input/output parsing parameter.
      Returns:
      a parsed BigInteger or null if string does not contain a BigInteger at the specified position
    • getDefaultNumberFormat

      protected static NumberFormat getDefaultNumberFormat()
      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.
      Returns:
      the default number format.
    • 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.
    • format

      public StringBuffer format(double value, StringBuffer buffer, FieldPosition position)
      Formats a double value as a fraction and appends the result to a StringBuffer.
      Specified by:
      format in class NumberFormat
      Parameters:
      value - the double value to format
      buffer - StringBuffer to append to
      position - On input: an alignment field, if desired. On output: the offsets of the alignment field
      Returns:
      a reference to the appended buffer
      See Also:
    • format

      public StringBuffer format(long value, StringBuffer buffer, FieldPosition position)
      Formats a long value as a fraction and appends the result to a StringBuffer.
      Specified by:
      format in class NumberFormat
      Parameters:
      value - the long value to format
      buffer - StringBuffer to append to
      position - On input: an alignment field, if desired. On output: the offsets of the alignment field
      Returns:
      a reference to the appended buffer
      See Also: