org.springframework.format.number

## Class AbstractNumberFormatter

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

- All Implemented Interfaces:
    Formatter<Number>, Parser<Number>, Printer<Number>
  Direct Known Subclasses:
    CurrencyFormatter, NumberFormatter, PercentFormatter

      public abstract class AbstractNumberFormatter
      extends Object
      implements Formatter<Number>

  Abstract formatter for Numbers, providing a `getNumberFormat(java.util.Locale)` template method.
  Since:
    3.0
  Author:
    Juergen Hoeller, Keith Donald

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractNumberFormatter()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract NumberFormat` | `getNumberFormat(Locale locale)` Obtain a concrete NumberFormat for the specified locale.
    `Number` | `parse(String text, Locale locale)` Parse a text String to produce a T.
    `String` | `print(Number number, Locale locale)` Print the object of type T for display.
    `void` | `setLenient(boolean lenient)` Specify whether or not parsing is to be lenient.

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

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

- - ### Constructor Detail

    - #### AbstractNumberFormatter

          public AbstractNumberFormatter()

  - ### Method Detail

    - #### setLenient

          public void setLenient(boolean lenient)

      Specify whether or not parsing is to be lenient. Default is false.

      With lenient parsing, the parser may allow inputs that do not precisely match the format. With strict parsing, inputs must match the format exactly.

    - #### print

          public String print(Number number,
                     Locale locale)

      Description copied from interface: `Printer`
      Print the object of type T for display.
      Specified by:
        `print` in interface `Printer<Number>`
      Parameters:
        `number` - the instance to print
        `locale` - the current user locale
      Returns:
        the printed text string

    - #### parse

          public Number 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>`
      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 abstract NumberFormat getNumberFormat(Locale locale)

      Obtain a concrete NumberFormat for the specified locale.
      Parameters:
        `locale` - the current locale
      Returns:
        the NumberFormat instance (never `null`)