Class CurrencyStyleFormatter

java.lang.Object
org.springframework.format.number.AbstractNumberFormatter
org.springframework.format.number.CurrencyStyleFormatter
All Implemented Interfaces:
Formatter<Number>, Parser<Number>, Printer<Number>

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 specified RoundingMode to parsed values.

Since:
4.2
Author:
Keith Donald, Juergen Hoeller
See Also:
  • Constructor Details

    • CurrencyStyleFormatter

      public CurrencyStyleFormatter()
  • Method Details

    • 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 is RoundingMode.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:
    • 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 interface Parser<Number>
      Overrides:
      parse in class AbstractNumberFormatter
      Parameters:
      text - the text string
      locale - 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 class AbstractNumberFormatter
      Parameters:
      locale - the current locale
      Returns:
      the NumberFormat instance (never null)