Class CurrencyStyleFormatter
- java.lang.Object
- org.springframework.format.number.AbstractNumberFormatter
- org.springframework.format.number.CurrencyStyleFormatter
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 specifiedRoundingMode
to 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 NumberFormat
getNumberFormat(Locale locale)
Obtain a concrete NumberFormat for the specified locale.BigDecimal
parse(String text, Locale locale)
Parse a text String to produce a T.void
setCurrency(Currency currency)
Specify the currency, if known.void
setFractionDigits(int fractionDigits)
Specify the desired number of fraction digits.void
setPattern(String pattern)
Specify the pattern to use to format number values.void
setRoundingMode(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:Parser
Parse a text String to produce a T.- Specified by:
parse
in interfaceParser<Number>
- Overrides:
parse
in 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:AbstractNumberFormatter
Obtain a concrete NumberFormat for the specified locale.- Specified by:
getNumberFormat
in classAbstractNumberFormatter
- Parameters:
locale
- the current locale- Returns:
- the NumberFormat instance (never
null
)