Top Description Fields Constructors Methods
com.ibm.icu.number

public Class Notation

extends Object
Class Inheritance
Known Direct Subclasses
com.ibm.icu.number.ScientificNotation, com.ibm.icu.number.SimpleNotation, com.ibm.icu.number.CompactNotation
Imports
com.ibm.icu.number.NumberFormatter.SignDisplay, com.ibm.icu.text.CompactDecimalFormat.CompactStyle

A class that defines the notation style to be used when formatting numbers in NumberFormatter.
ICU Status
Stable since ICU 60.
See Also
NumberFormatter

Field Summary

Modifier and TypeField and Description
private static final CompactNotation
private static final CompactNotation
private static final ScientificNotation
private static final ScientificNotation
private static final SimpleNotation

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public static CompactNotation

Returns:

A CompactNotation for passing to the NumberFormatter notation() setter.
compactLong
()

Print the number using long-form compact notation.

public static CompactNotation

Returns:

A CompactNotation for passing to the NumberFormatter notation() setter.
compactShort
()

Print the number using short-form compact notation.

public static ScientificNotation

Returns:

A ScientificNotation for chaining or passing to the NumberFormatter notation() setter.
engineering
()

Print the number using engineering notation, a variant of scientific notation in which the exponent must be divisible by 3.

public static ScientificNotation

Returns:

A ScientificNotation for chaining or passing to the NumberFormatter notation() setter.
scientific
()

Print the number using scientific notation (also known as scientific form, standard index form, or standard form in the UK).

public static SimpleNotation

Returns:

A SimpleNotation for passing to the NumberFormatter notation() setter.
simple
()

Print the number using simple notation without any scaling by powers of ten.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

COMPACT_LONGback to summary
private static final CompactNotation COMPACT_LONG
COMPACT_SHORTback to summary
private static final CompactNotation COMPACT_SHORT
ENGINEERINGback to summary
private static final ScientificNotation ENGINEERING
SCIENTIFICback to summary
private static final ScientificNotation SCIENTIFIC
SIMPLEback to summary
private static final SimpleNotation SIMPLE

Constructor Detail

Notationback to summary
pack-priv Notation()

Method Detail

compactLongback to summary
public static CompactNotation compactLong()

Print the number using long-form compact notation. For more information on compact notation, see compactShort.

In long form, the powers of ten are spelled out fully. Example outputs in en-US when printing 8.765E7 through 8.765E0:

88 million
8.8 million
876 thousand
88 thousand
8.8 thousand
876
88
8.8
Returns:CompactNotation

A CompactNotation for passing to the NumberFormatter notation() setter.

ICU Status
Stable since ICU 60.
See Also
NumberFormatter
compactShortback to summary
public static CompactNotation compactShort()

Print the number using short-form compact notation.

Compact notation, defined in Unicode Technical Standard #35 Part 3 Section 2.4.1, prints numbers with localized prefixes or suffixes corresponding to different powers of ten. Compact notation is similar to engineering notation in how it scales numbers.

Compact notation is ideal for displaying large numbers (over ~1000) to humans while at the same time minimizing screen real estate.

In short form, the powers of ten are abbreviated. In en-US, the abbreviations are "K" for thousands, "M" for millions, "B" for billions, and "T" for trillions. Example outputs in en-US when printing 8.765E7 through 8.765E0:

88M
8.8M
876K
88K
8.8K
876
88
8.8

When compact notation is specified without an explicit rounding strategy, numbers are rounded off to the closest integer after scaling the number by the corresponding power of 10, but with a digit shown after the decimal separator if there is only one digit before the decimal separator. The default compact notation rounding strategy is equivalent to:

Rounder.integer().withMinDigits(2)
Returns:CompactNotation

A CompactNotation for passing to the NumberFormatter notation() setter.

ICU Status
Stable since ICU 60.
See Also
NumberFormatter
engineeringback to summary
public static ScientificNotation engineering()

Print the number using engineering notation, a variant of scientific notation in which the exponent must be divisible by 3.

Example outputs in en-US when printing 8.765E4 through 8.765E-3:

87.65E3
8.765E3
876.5E0
87.65E0
8.765E0
876.5E-3
87.65E-3
8.765E-3
0E0
Returns:ScientificNotation

A ScientificNotation for chaining or passing to the NumberFormatter notation() setter.

ICU Status
Stable since ICU 60.
See Also
NumberFormatter
scientificback to summary
public static ScientificNotation scientific()

Print the number using scientific notation (also known as scientific form, standard index form, or standard form in the UK). The format for scientific notation varies by locale; for example, many Western locales display the number in the form "#E0", where the number is displayed with one digit before the decimal separator, zero or more digits after the decimal separator, and the corresponding power of 10 displayed after the "E".

Example outputs in en-US when printing 8.765E4 through 8.765E-3:

8.765E4
8.765E3
8.765E2
8.765E1
8.765E0
8.765E-1
8.765E-2
8.765E-3
0E0
Returns:ScientificNotation

A ScientificNotation for chaining or passing to the NumberFormatter notation() setter.

ICU Status
Stable since ICU 60.
See Also
NumberFormatter
simpleback to summary
public static SimpleNotation simple()

Print the number using simple notation without any scaling by powers of ten. This is the default behavior.

Since this is the default behavior, this method needs to be called only when it is necessary to override a previous setting.

Example outputs in en-US when printing 8.765E7 through 8.765E0:

87,650,000
8,765,000
876,500
87,650
8,765
876.5
87.65
8.765
Returns:SimpleNotation

A SimpleNotation for passing to the NumberFormatter notation() setter.

ICU Status
Stable since ICU 60.
See Also
NumberFormatter