Class NumberingSystem


  • public class NumberingSystem
    extends Object
    NumberingSystem is the base class for all number systems. This class provides the interface for setting different numbering system types, whether it be a simple alternate digit system such as Thai digits or Devanagari digits, or an algorithmic numbering system such as Hebrew numbering or Chinese numbering.
    Author:
    John Emmons
    • Field Detail

      • LATIN

        public static final NumberingSystem LATIN
        For convenience, an instance representing the latn numbering system, which corresponds to digits in the ASCII range '0' through '9'.
    • Constructor Detail

      • NumberingSystem

        public NumberingSystem()
        Default constructor. Returns a numbering system that uses the Western decimal digits 0 through 9.
    • Method Detail

      • getInstance

        public static NumberingSystem getInstance​(int radix_in,
                                                  boolean isAlgorithmic_in,
                                                  String desc_in)
        Factory method for creating a numbering system.
        Parameters:
        radix_in - The radix for this numbering system. ICU currently supports only numbering systems whose radix is 10.
        isAlgorithmic_in - Specifies whether the numbering system is algorithmic (true) or numeric (false).
        desc_in - String used to describe the characteristics of the numbering system. For numeric systems, this string contains the digits used by the numbering system, in order, starting from zero. For algorithmic numbering systems, the string contains the name of the RBNF ruleset in the locale's NumberingSystemRules section that will be used to format numbers using this numbering system.
      • getInstance

        public static NumberingSystem getInstance​(Locale inLocale)
        Returns the default numbering system for the specified locale.
      • getInstance

        public static NumberingSystem getInstance​(ULocale locale)
        Returns the default numbering system for the specified ULocale.
      • getInstanceByName

        public static NumberingSystem getInstanceByName​(String name)
        Returns a numbering system from one of the predefined numbering systems known to ICU. Numbering system names are based on the numbering systems defined in CLDR. To get a list of available numbering systems, use the getAvailableNames method.
        Parameters:
        name - The name of the desired numbering system. Numbering system names often correspond with the name of the script they are associated with. For example, "thai" for Thai digits, "hebr" for Hebrew numerals.
      • getAvailableNames

        public static String[] getAvailableNames()
        Returns a string array containing a list of the names of numbering systems currently known to ICU.
      • isValidDigitString

        public static boolean isValidDigitString​(String str)
        Convenience method to determine if a given digit string is valid for use as a descriptor of a numeric ( non-algorithmic ) numbering system. In order for a digit string to be valid, it must contain exactly ten Unicode code points.
      • getRadix

        public int getRadix()
        Returns the radix of the current numbering system.
      • getDescription

        public String getDescription()
        Returns the description string of the current numbering system. The description string describes the characteristics of the numbering system. For numeric systems, this string contains the digits used by the numbering system, in order, starting from zero. For algorithmic numbering systems, the string contains the name of the RBNF ruleset in the locale's NumberingSystemRules section that will be used to format numbers using this numbering system.
      • getName

        public String getName()
        Returns the string representing the name of the numbering system.
      • isAlgorithmic

        public boolean isAlgorithmic()
        Returns the numbering system's algorithmic status. If true, the numbering system is algorithmic and uses an RBNF formatter to format numerals. If false, the numbering system is numeric and uses a fixed set of digits.