Enum NumberFormatter.SignDisplay

java.lang.Object
java.lang.Enum<NumberFormatter.SignDisplay>
com.ibm.icu.number.NumberFormatter.SignDisplay
All Implemented Interfaces:
Serializable, Comparable<NumberFormatter.SignDisplay>, java.lang.constant.Constable
Enclosing class:
NumberFormatter

public static enum NumberFormatter.SignDisplay extends Enum<NumberFormatter.SignDisplay>
An enum declaring how to denote positive and negative numbers. Example outputs when formatting 123, 0, and -123 in en-US:
  • AUTO: "123", "0", and "-123"
  • ALWAYS: "+123", "+0", and "-123"
  • NEVER: "123", "0", and "123"
  • ACCOUNTING: "$123", "$0", and "($123)"
  • ACCOUNTING_ALWAYS: "+$123", "+$0", and "($123)"
  • EXCEPT_ZERO: "+123", "0", and "-123"
  • ACCOUNTING_EXCEPT_ZERO: "+$123", "$0", and "($123)"

The exact format, including the position and the code point of the sign, differ by locale.

See Also:
  • Enum Constant Details

    • AUTO

      public static final NumberFormatter.SignDisplay AUTO
      Show the minus sign on negative numbers, and do not show the sign on positive numbers. This is the default behavior. If using this option, a sign will be displayed on negative zero, including negative numbers that round to zero. To hide the sign on negative zero, use the NEGATIVE option.
      See Also:
    • ALWAYS

      public static final NumberFormatter.SignDisplay ALWAYS
      Show the minus sign on negative numbers and the plus sign on positive numbers, including zero. To hide the sign on zero, see EXCEPT_ZERO.
      See Also:
    • NEVER

      public static final NumberFormatter.SignDisplay NEVER
      Do not show the sign on positive or negative numbers.
      See Also:
    • ACCOUNTING

      public static final NumberFormatter.SignDisplay ACCOUNTING
      Use the locale-dependent accounting format on negative numbers, and do not show the sign on positive numbers.

      The accounting format is defined in CLDR and varies by locale; in many Western locales, the format is a pair of parentheses around the number.

      Note: Since CLDR defines the accounting format in the monetary context only, this option falls back to the AUTO sign display strategy when formatting without a currency unit. This limitation may be lifted in the future.

      See Also:
    • ACCOUNTING_ALWAYS

      public static final NumberFormatter.SignDisplay ACCOUNTING_ALWAYS
      Use the locale-dependent accounting format on negative numbers, and show the plus sign on positive numbers, including zero. For more information on the accounting format, see the ACCOUNTING sign display strategy. To hide the sign on zero, see ACCOUNTING_EXCEPT_ZERO.
      See Also:
    • EXCEPT_ZERO

      public static final NumberFormatter.SignDisplay EXCEPT_ZERO
      Show the minus sign on negative numbers and the plus sign on positive numbers. Do not show a sign on zero, numbers that round to zero, or NaN.
      See Also:
    • ACCOUNTING_EXCEPT_ZERO

      public static final NumberFormatter.SignDisplay ACCOUNTING_EXCEPT_ZERO
      Use the locale-dependent accounting format on negative numbers, and show the plus sign on positive numbers. Do not show a sign on zero, numbers that round to zero, or NaN. For more information on the accounting format, see the ACCOUNTING sign display strategy.
      See Also:
    • NEGATIVE

      public static final NumberFormatter.SignDisplay NEGATIVE
      Same as AUTO, but do not show the sign on negative zero.
    • ACCOUNTING_NEGATIVE

      public static final NumberFormatter.SignDisplay ACCOUNTING_NEGATIVE
      Same as ACCOUNTING, but do not show the sign on negative zero.
  • Method Details

    • values

      public static NumberFormatter.SignDisplay[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static NumberFormatter.SignDisplay valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null