Added in API level 30

NumberRangeFormatter

abstract class NumberRangeFormatter
kotlin.Any
   ↳ android.icu.number.NumberRangeFormatter

The main entrypoint to the formatting of ranges of numbers, including currencies and other units of measurement.

Usage example:

NumberRangeFormatter.with()
          .identityFallback(RangeIdentityFallback.APPROXIMATELY_OR_SINGLE_VALUE)
          .numberFormatterFirst(NumberFormatter.with().unit(MeasureUnit.METER))
          .numberFormatterSecond(NumberFormatter.with().unit(MeasureUnit.KILOMETER))
          .locale(ULocale.UK)
          .formatRange(750, 1.2)
          .toString();
  // => "750 m - 1.2 km"
  

Like NumberFormatter, NumberRangeFormatter instances (i.e., LocalizedNumberRangeFormatter and UnlocalizedNumberRangeFormatter) are immutable and thread-safe. This API is based on the fluent design pattern popularized by libraries such as Google's Guava.

Summary

Nested classes

Defines how to merge fields that are identical across the range sign.

Defines the behavior when the two numbers in the range are identical after rounding.

Used in the result class FormattedNumberRange to indicate to the user whether the numbers formatted in the range were equal or not, and whether or not the identity fallback was applied.

Public methods
open static UnlocalizedNumberRangeFormatter!

Call this method at the beginning of a NumberRangeFormatter fluent chain in which the locale is not currently known at the call site.

open static LocalizedNumberRangeFormatter!
withLocale(locale: Locale!)

Call this method at the beginning of a NumberRangeFormatter fluent chain in which the locale is known at the call site.

open static LocalizedNumberRangeFormatter!
withLocale(locale: ULocale!)

Call this method at the beginning of a NumberRangeFormatter fluent chain in which the locale is known at the call site.

Public methods

with

Added in API level 30
open static fun with(): UnlocalizedNumberRangeFormatter!

Call this method at the beginning of a NumberRangeFormatter fluent chain in which the locale is not currently known at the call site.

Return
UnlocalizedNumberRangeFormatter! An UnlocalizedNumberRangeFormatter, to be used for chaining.

withLocale

Added in API level 30
open static fun withLocale(locale: Locale!): LocalizedNumberRangeFormatter!

Call this method at the beginning of a NumberRangeFormatter fluent chain in which the locale is known at the call site.

Parameters
locale Locale!: The locale from which to load formats and symbols for number range formatting.
Return
LocalizedNumberRangeFormatter! A LocalizedNumberRangeFormatter, to be used for chaining.

withLocale

Added in API level 30
open static fun withLocale(locale: ULocale!): LocalizedNumberRangeFormatter!

Call this method at the beginning of a NumberRangeFormatter fluent chain in which the locale is known at the call site.

Parameters
locale ULocale!: The locale from which to load formats and symbols for number range formatting.
Return
LocalizedNumberRangeFormatter! A LocalizedNumberRangeFormatter, to be used for chaining.