public class ProperFractionFormat extends FractionFormat
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
.
NumberFormat.Field
FRACTION_FIELD, INTEGER_FIELD
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.
|
Modifier and Type | Method and Description |
---|---|
StringBuffer |
format(double value,
StringBuffer buffer,
FieldPosition position)
Formats a double value as a fraction and appends the result to a StringBuffer.
|
StringBuffer |
format(Fraction fraction,
StringBuffer toAppendTo,
FieldPosition pos)
Formats a
Fraction object to produce a string. |
StringBuffer |
format(long value,
StringBuffer buffer,
FieldPosition position)
Formats a long value as a fraction and appends the result to a StringBuffer.
|
protected static NumberFormat |
getDefaultNumberFormat(Locale locale)
Create a default number format.
|
NumberFormat |
getDenominatorFormat()
Access the denominator format.
|
NumberFormat |
getNumeratorFormat()
Access the numerator format.
|
NumberFormat |
getWholeFormat()
Access the whole format.
|
Fraction |
parse(String source,
ParsePosition pos)
Parses a string to produce a
Fraction object. |
protected static void |
parseAndIgnoreWhitespace(String source,
ParsePosition pos)
Parses
source until a non-whitespace character is found. |
protected static char |
parseNextCharacter(String source,
ParsePosition pos)
Parses
source until a non-whitespace character is found. |
format, formatFraction, getAvailableLocales, getDefaultNumberFormat, getImproperInstance, getImproperInstance, getProperInstance, getProperInstance, parse
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
format, formatToCharacterIterator, parseObject
public ProperFractionFormat()
public ProperFractionFormat(NumberFormat format)
format
- the custom format for the whole, numerator, and denominator.NullArgumentException
- if the provided format is null.public ProperFractionFormat(NumberFormat wholeFormat, NumberFormat numeratorFormat, NumberFormat denominatorFormat)
wholeFormat
- the custom format for the whole.numeratorFormat
- the custom format for the numerator.denominatorFormat
- the custom format for the denominator.NullArgumentException
- if either provided format is null.public StringBuffer format(Fraction fraction, StringBuffer toAppendTo, FieldPosition pos)
Fraction
object to produce a string. The fraction
is output in proper format.format
in class FractionFormat
fraction
- the object to format.toAppendTo
- where the text is to be appendedpos
- On input: an alignment field, if desired. On output: the
offsets of the alignment fieldpublic NumberFormat getWholeFormat()
public Fraction parse(String source, ParsePosition pos)
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
.
parse
in class FractionFormat
source
- the string to parsepos
- input/ouput parsing parameter.Fraction
object.protected static NumberFormat getDefaultNumberFormat(Locale locale)
NumberFormat.getNumberInstance(java.util.Locale)
. The only
customization is the maximum number of BigFraction digits, which is set to 0.locale
- the specific locale used by the format.public NumberFormat getDenominatorFormat()
public NumberFormat getNumeratorFormat()
protected static void parseAndIgnoreWhitespace(String source, ParsePosition pos)
source
until a non-whitespace character is found.source
- the string to parsepos
- input/output parsing parameter. On output, pos
holds the index of the next non-whitespace character.protected static char parseNextCharacter(String source, ParsePosition pos)
source
until a non-whitespace character is found.source
- the string to parsepos
- input/output parsing parameter.public StringBuffer format(double value, StringBuffer buffer, FieldPosition position)
format
in class NumberFormat
value
- the double value to formatbuffer
- StringBuffer to append toposition
- On input: an alignment field, if desired. On output: the
offsets of the alignment fieldNumberFormat.format(Object, StringBuffer, FieldPosition)
public StringBuffer format(long value, StringBuffer buffer, FieldPosition position)
format
in class NumberFormat
value
- the long value to formatbuffer
- StringBuffer to append toposition
- On input: an alignment field, if desired. On output: the
offsets of the alignment fieldNumberFormat.format(Object, StringBuffer, FieldPosition)
Copyright © 2016-2021 CS GROUP. All rights reserved.