numbers: A table with localized numerical attributes and descriptors

numbersR Documentation

A table with localized numerical attributes and descriptors

Description

The numbers table contains localized data for number-related entities across 574 locales. This table has 574 rows (one per locale) and the following 26 columns:

  • locale (character)

  • default_numbering_system (character)

  • other_numbering_systems (⁠named list [variable length]⁠)

  • minimum_grouping_digits (integer)

  • decimal (character)

  • group (character)

  • list (character)

  • percent_sign (character)

  • ⁠plus_sign"⁠ (character)

  • minus_sign (character)

  • approx_sign (character)

  • exp_sign (character)

  • sup_exp (character)

  • per_mille (character)

  • infinity (character)

  • nan (character)

  • time_sep (character)

  • approx_pattern (character)

  • at_least_pattern (character)

  • at_most_pattern (character)

  • range_pattern (character)

  • decimal_format (character)

  • sci_format (character)

  • percent_format (character)

  • currency_format (character)

  • accounting_format (character)

The first column, locale, is the locale name (e.g., "en", "de-AT", etc.). The remaining 25 columns will be explained in separate sections.

Usage

numbers

Format

An object of class tbl_df (inherits from tbl, data.frame) with 574 rows and 26 columns.

Default Numbering System

The default_numbering_system (CLDR: 'defaultNumberingSystem') column provides an element that indicates which numbering system should be used for presentation of numeric quantities in the given locale.

Other Numbering Systems

The other_numbering_systems (CLDR: 'otherNumberingSystems') column provides an element that defines general categories of numbering systems that are sometimes used in the given locale for formatting numeric quantities. These additional numbering systems are often used in very specific contexts, such as in calendars or for financial purposes. There are currently three defined categories, as follows:

native

Defines the numbering system used for the native digits, usually defined as a part of the script used to write the language. The native numbering system can only be a numeric positional decimal-digit numbering system, using digits with General_Category=Decimal_Number. In locales where the native numbering system is the default, it is assumed that the numbering system "latn" ( Western Digits 0-9) is always acceptable, and can be selected using the "-nu" keyword as part of a Unicode locale identifier.

traditional

Defines the traditional numerals for a locale. This numbering system may be numeric or algorithmic. If the traditional numbering system is not defined, applications should use the native numbering system as a fallback.

finance

Defines the numbering system used for financial quantities. This numbering system may be numeric or algorithmic. This is often used for ideographic languages such as Chinese, where it would be easy to alter an amount represented in the default numbering system simply by adding additional strokes. If the financial numbering system is not specified, applications should use the default numbering system as a fallback.

The categories defined for other numbering systems can be used in a Unicode locale identifier to select the proper numbering system without having to know the specific numbering system by name. To select the Hindi language using the native digits for numeric formatting, use locale ID "hi-IN-u-nu-native". To select the Chinese language using the appropriate financial numerals, use locale ID: "zh-u-nu-finance". With the Tamil language using the traditional Tamil numerals, use locale ID "ta-u-nu-traditio". As a last example, to select the Arabic language using western digits 0-9, use locale ID "ar-u-nu-latn".

Minimum Grouping Digits

The minimum_grouping_digits (CLDR: 'minimumGroupingDigits') value can be used to suppress groupings below a certain value. This is used for languages such as Polish, where one would only write the grouping separator for values above 9999. The minimum_grouping_digits value contains the default for the locale.

Number Symbols

Number symbols define the localized symbols that are commonly used when formatting numbers in a given locale. These symbols can be referenced using a number formatting pattern.

The decimal (CLDR: 'decimal') symbol separates the integer and fractional part of the number. The group (CLDR: 'group') symbol separates clusters of integer digits to make large numbers more legible; commonly used for thousands (grouping size 3, e.g. "100,000,000") or in some locales, ten-thousands (grouping size 4, e.g. "1,0000,0000"). There may be two different grouping sizes: The primary grouping size used for the least significant integer group, and the secondary grouping size used for more significant groups; these are not the same in all locales (e.g. "12,34,56,789"). If a pattern contains multiple grouping separators, the interval between the last one and the end of the integer defines the primary grouping size, and the interval between the last two defines the secondary grouping size. All others are ignored, so "#,##,###,####" == "###,###,####" == "##,#,###,####".

The list (CLDR: 'list') symbol is used to separate numbers in a list intended to represent structured data such as an array. It must be different from the decimal value. This list separator is for non-linguistic usage as opposed to the list patterns for linguistic lists (e.g. "Bob, Carol, and Ted").

The plus_sign (CLDR: 'plusSign') is the preferred symbol for expressing a positive value and the minus_sign (CLDR: 'minusSign') is for negative values. It can be used to produce modified patterns, so that "3.12" is formatted as "+3.12", for example. The standard number patterns (except for accounting notation) will contain the minus_sign, explicitly or implicitly. In the explicit pattern, the value of the plus_sign can be substituted for the value of the minus_sign to produce a pattern that has an explicit plus sign.

The approx_sign (CLDR: 'approximatelySign') element contains a symbol used to denote an approximate value. The symbol is substituted in place of the minus_sign using the same semantics as plus_sign substitution.

The exp_sign (CLDR: 'exponential') provides a symbol used for separating the mantissa and exponent values. The exponential notation in sup_exp (CLDR: 'superscriptingExponent') could alternatively be used to show a format like "1.23 × 104". The superscripting can use markup, such as ⁠<sup>4</sup>⁠ in HTML, or for the special case of Latin digits, use superscripted numeral characters.

The percent_sign (CLDR: 'percentSign') is a symbol used to indicate a percentage (1/100th) amount. If present, the value might require multiplication by 100 before formatting. The per_mille (CLDR: 'perMille') symbol used to indicate a per mille (1/1000th) amount. If present, the value might need to be multiplied by 1000 before formatting.

The infinity sign is provided in the infinity (CLDR: 'infinity') element. The nan element (CLDR: 'nan') has the NaN (not a number) sign. These elements both correspond to the IEEE bit patterns for infinity and NaN.

The time_sep (CLDR: 'timeSeparator') pattern allows the same time format to be used for multiple number systems when the time separator depends on the number system. For example, the time format for Arabic should be a colon when using the Latin numbering system, but when the Arabic numbering system is used, the traditional time separator in older print styles was often Arabic comma.

Miscellaneous Patterns

There are several miscellaneous patterns for special purposes. The approx_pattern (CLDR: 'approximately') indicates an approximate number, such as: "~99". With the pattern called at_most_pattern (CLDR: 'atMost') we can describe an upper limit. This indicates that, for example, there are 99 items or fewer. The at_least_pattern (CLDR: 'atLeast') describes a lower limit. This might be "99+" to indicate that there are 99 items or more. With the range_pattern (CLDR: 'range'), a range of numbers, such as "99–103", can be used to indicate that there are from 99 to 103 items.

Number Formats

Number formats are used to define the rules for formatting numeric quantities. Different formats are provided for different contexts. The decimal_format (CLDR: 'decimalFormats') is the prescribed locale-specific way to write a base 10 number. Variations of the decimal_format pattern are provided that allow compact number formatting. The percent_format (CLDR: 'percentFormats') is the pattern to use for percentage formatting. The pattern for use with scientific (exponent) formatting is provided as sci_format (CLDR: 'scientificFormats'). The pattern for use with currency formatting is found in currency_format (CLDR: 'currencyFormats'). This format contains a few additional structural options that allow proper placement of the currency symbol relative to the numeric quantity. The accounting_format (CLDR: 'accountingFormats') pattern is to be used to generate accounting-style formatting.


rich-iannone/i18n documentation built on July 5, 2023, 11:01 a.m.