Class CurrencyStyleFormatter
- java.lang.Object
- org.springframework.format.number.AbstractNumberFormatter
- org.springframework.format.number.CurrencyStyleFormatter
- Direct Known Subclasses:
CurrencyFormatter
public class CurrencyStyleFormatter extends AbstractNumberFormatter
A BigDecimal formatter for number values in currency style.Delegates to
NumberFormat.getCurrencyInstance(Locale). Configures BigDecimal parsing so there is no loss of precision. Can apply a specifiedRoundingModeto parsed values.- Since:
- 4.2
- Author:
- Keith Donald, Juergen Hoeller
- See Also:
AbstractNumberFormatter.setLenient(boolean),setRoundingMode(java.math.RoundingMode)
Constructor Summary
Constructors Constructor Description CurrencyStyleFormatter()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected NumberFormatgetNumberFormat(Locale locale)Obtain a concrete NumberFormat for the specified locale.BigDecimalparse(String text, Locale locale)Parse a text String to produce a T.voidsetCurrency(Currency currency)Specify the currency, if known.voidsetFractionDigits(int fractionDigits)Specify the desired number of fraction digits.voidsetPattern(String pattern)Specify the pattern to use to format number values.voidsetRoundingMode(RoundingMode roundingMode)Specify the rounding mode to use for decimal parsing.Methods inherited from class org.springframework.format.number.AbstractNumberFormatter
print, setLenient
Constructor Detail
CurrencyStyleFormatter
public CurrencyStyleFormatter()
Method Detail
setFractionDigits
public void setFractionDigits(int fractionDigits)
Specify the desired number of fraction digits. Default is 2.
setRoundingMode
public void setRoundingMode(RoundingMode roundingMode)
Specify the rounding mode to use for decimal parsing. Default isRoundingMode.UNNECESSARY.
setCurrency
public void setCurrency(Currency currency)
Specify the currency, if known.
setPattern
public void setPattern(String pattern)
Specify the pattern to use to format number values. If not specified, the default DecimalFormat pattern is used.- See Also:
DecimalFormat.applyPattern(String)
parse
public BigDecimal parse(String text, Locale locale) throws ParseException
Description copied from interface:ParserParse a text String to produce a T.- Specified by:
parsein interfaceParser<Number>- Overrides:
parsein classAbstractNumberFormatter- Parameters:
text- the text stringlocale- the current user locale- Returns:
- an instance of T
- Throws:
ParseException- when a parse exception occurs in a java.text parsing library
getNumberFormat
protected NumberFormat getNumberFormat(Locale locale)
Description copied from class:AbstractNumberFormatterObtain a concrete NumberFormat for the specified locale.- Specified by:
getNumberFormatin classAbstractNumberFormatter- Parameters:
locale- the current locale- Returns:
- the NumberFormat instance (never
null)