Class NumberRangeFormatter


  • public abstract class NumberRangeFormatter
    extends java.lang.Object
    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.

    Author:
    sffc
    See Also:
    NumberFormatter
    • Method Detail

      • withLocale

        public static LocalizedNumberRangeFormatter withLocale​(java.util.Locale locale)
        Call this method at the beginning of a NumberRangeFormatter fluent chain in which the locale is known at the call site.
        Parameters:
        locale - The locale from which to load formats and symbols for number range formatting.
        Returns:
        A LocalizedNumberRangeFormatter, to be used for chaining.
      • withLocale

        public static LocalizedNumberRangeFormatter withLocale​(ULocale locale)
        Call this method at the beginning of a NumberRangeFormatter fluent chain in which the locale is known at the call site.
        Parameters:
        locale - The locale from which to load formats and symbols for number range formatting.
        Returns:
        A LocalizedNumberRangeFormatter, to be used for chaining.