@Documented @Retention(value=RUNTIME) @Target(value={METHOD,FIELD,PARAMETER,ANNOTATION_TYPE}) public @interface NumberFormat
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.
NumberFormat| Modifier and Type | Optional Element and Description | 
|---|---|
| String | patternThe custom pattern to use to format the field. | 
| NumberFormat.Style | styleThe style pattern to use to format the field. | 
public abstract NumberFormat.Style style
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.
public abstract String pattern
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.