org.springframework.format.number

## Class NumberFormatter

- java.lang.Object
- - org.springframework.format.number.AbstractNumberFormatter
  - - org.springframework.format.number.NumberFormatter

- All Implemented Interfaces:
    Formatter<Number>, Parser<Number>, Printer<Number>

      public class NumberFormatter
      extends AbstractNumberFormatter

  A general-purpose Number formatter.

  Delegates to `NumberFormat.getInstance(Locale)`. Configures BigDecimal parsing so there is no loss in precision. Allows configuration over the decimal number pattern. The `AbstractNumberFormatter.parse(String, Locale)` routine always returns a BigDecimal.

  Since:
    3.0
  Author:
    Keith Donald, Juergen Hoeller
  See Also:
    `setPattern(java.lang.String)`, `AbstractNumberFormatter.setLenient(boolean)`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NumberFormatter()` Create a new NumberFormatter without a pattern.
    `NumberFormatter(String pattern)` Create a new NumberFormatter with the specified pattern.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `NumberFormat` | `getNumberFormat(Locale locale)` Obtain a concrete NumberFormat for the specified locale.
    `void` | `setPattern(String pattern)` Sets the pattern to use to format number values.

    - ### Methods inherited from class org.springframework.format.number.AbstractNumberFormatter

      `parse, print, setLenient`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NumberFormatter

          public NumberFormatter()

      Create a new NumberFormatter without a pattern.

    - #### NumberFormatter

          public NumberFormatter(String pattern)

      Create a new NumberFormatter with the specified pattern.
      Parameters:
        `pattern` - the format pattern
      See Also:
        `setPattern(java.lang.String)`

  - ### Method Detail

    - #### setPattern

          public void setPattern(String pattern)

      Sets the pattern to use to format number values. If not specified, the default DecimalFormat pattern is used.
      See Also:
        `DecimalFormat.applyPattern(String)`

    - #### getNumberFormat

          public 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`)