Package org.springframework.format.annotation

# Annotation Interface NumberFormat

@Documented @Retention(RUNTIME) @Target({METHOD,FIELD,PARAMETER,ANNOTATION_TYPE}) public @interface NumberFormat
Declares that a field or method parameter should be formatted as a number.

Supports formatting by style or custom pattern string. Can be applied to any JDK `Number` type such as `Double` and `Long`.

For style-based formatting, set the `style()` attribute to be the desired `NumberFormat.Style`. For custom formatting, set the `pattern()` attribute to be the number pattern, such as `#, ###.##`.

Each attribute is mutually exclusive, so only set one attribute per annotation instance (the one most convenient one for your formatting needs). When the `pattern()` attribute is specified, it takes precedence over the `style()` attribute. When no annotation attributes are specified, the default format applied is style-based for either number of currency, depending on the annotated field or method parameter type.

Since:
  3.0
Author:
  Keith Donald, Juergen Hoeller
See Also:
  - `NumberFormat`

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`NumberFormat.Style`
Common number format styles.

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`String`
`pattern`
The custom pattern to use to format the field.
`NumberFormat.Style`
`style`
The style pattern to use to format the field.

## Element Details

### style

NumberFormat.Style style
The style pattern to use to format the field.

Defaults to `NumberFormat.Style.DEFAULT` for general-purpose number formatting for most annotated types, except for money types which default to currency formatting. Set this attribute when you wish to format your field in accordance with a common style other than the default style.

Default:
  DEFAULT

### pattern

String pattern
The custom pattern to use to format the field.

Defaults to empty String, indicating no custom pattern String has been specified. Set this attribute when you wish to format your field in accordance with a custom number pattern not represented by a style.

Default:
  ""