NumberFormat.compact constructor
NumberFormat.compact({
- Locale? locale,
- CompactDisplay compactDisplay = CompactDisplay.short,
- FormatStyle style = const DecimalStyle(),
- SignDisplay signDisplay = SignDisplay.auto,
- Grouping useGrouping = Grouping.auto,
- NumberingSystem? numberingSystem,
- RoundingMode roundingMode = RoundingMode.halfExpand,
- TrailingZeroDisplay trailingZeroDisplay = TrailingZeroDisplay.auto,
- int minimumIntegerDigits = 1,
- Digits? digits,
Creates a NumberFormat instance for compact number formatting.
WARNING: Not implemented on native yet.
Compact notation is a way to format numbers that are very large or very small in a more human-readable way, e.g., "1.2M" instead of "1,200,000".
locale: The locale to use for formatting. Defaults to the system locale.compactDisplay: The display style for compact notation. Defaults to CompactDisplay.short.style: The overall formatting style. Defaults to DecimalStyle.signDisplay: When to display the sign for the number. Defaults to SignDisplay.auto.useGrouping: Whether to use grouping separators. Defaults to Grouping.auto.numberingSystem: The numbering system to use (e.g., 'latn', 'arab').roundingMode: The rounding strategy to use. Defaults to RoundingMode.halfExpand.trailingZeroDisplay: When to display trailing zeros. Defaults to TrailingZeroDisplay.auto.minimumIntegerDigits: The minimum number of integer digits to use. Defaults to 1.digits: Specifies the minimum and maximum number of fraction or significant digits.
Example:
import 'package:intl4x/number_format.dart';
void main() {
print(NumberFormat.compact().format(1234567)); // Prints '1.2M'
}
Implementation
//TODO: implement in ICU4X
NumberFormat.compact({
Locale? locale,
CompactDisplay compactDisplay = CompactDisplay.short,
//General options
FormatStyle style = const DecimalStyle(),
SignDisplay signDisplay = SignDisplay.auto,
Grouping useGrouping = Grouping.auto,
NumberingSystem? numberingSystem,
RoundingMode roundingMode = RoundingMode.halfExpand,
TrailingZeroDisplay trailingZeroDisplay = TrailingZeroDisplay.auto,
int minimumIntegerDigits = 1,
Digits? digits,
}) : _impl = NumberFormatImpl.build(
locale ?? findSystemLocale(),
NumberFormatOptions.compact(
compactDisplay: compactDisplay,
digits: digits,
minimumIntegerDigits: minimumIntegerDigits,
numberingSystem: numberingSystem,
roundingMode: roundingMode,
signDisplay: signDisplay,
style: style,
trailingZeroDisplay: trailingZeroDisplay,
useGrouping: useGrouping,
),
);