extended_data.primitives.numbers¶
Number transformation utilities.
This module provides functions for converting numbers to/from words, Roman numerals, and various formatting operations.
Module Contents¶
Functions¶
Return the concrete num2words language key or raise ValueError. |
|
Validate the provided currency for the resolved language code. |
|
Convert integer to Roman numerals. |
|
Convert Roman numerals to integer. |
|
Convert integers or floats to their word representation. |
|
Convert number to ordinal words. |
|
Convert number to currency words. |
Data¶
API¶
- extended_data.primitives.numbers._normalize_language_code(lang: str) str¶
Return the concrete num2words language key or raise ValueError.
- extended_data.primitives.numbers._validate_currency_code(currency: str, lang_code: str) str¶
Validate the provided currency for the resolved language code.
- extended_data.primitives.numbers.to_roman(number: int) str¶
Convert integer to Roman numerals.
Args: number: Integer between 1 and 3999
Returns: Roman numeral string
Example: >>> to_roman(42) ‘XLII’
- extended_data.primitives.numbers.from_roman(numeral: str) int¶
Convert Roman numerals to integer.
Args: numeral: Roman numeral string
Returns: Integer value
Example: >>> from_roman(‘XLII’) 42
- extended_data.primitives.numbers.number_to_words(number: float, lang: str = 'en') str¶
Convert integers or floats to their word representation.
Supports both integers and floats. Floats are converted using “point” notation.
Args: number: Integer or float to convert lang: Language code (default: ‘en’). Supported languages include ‘en’, ‘es’, ‘fr’, ‘de’, and many others (see num2words documentation)
Returns: Number as words
Raises: ValueError: If the specified language is empty or not supported by num2words
Examples: >>> number_to_words(42) ‘forty-two’ >>> number_to_words(42.5) ‘forty-two point five’
- extended_data.primitives.numbers.number_to_ordinal(number: int, lang: str = 'en') str¶
Convert number to ordinal words.
Args: number: Integer to convert lang: Language code (default: ‘en’). Supported languages include ‘en’, ‘es’, ‘fr’, ‘de’, and many others (see num2words documentation)
Returns: Ordinal as words
Raises: ValueError: If the specified language is empty or not supported by num2words
Example: >>> number_to_ordinal(42) ‘forty-second’
- extended_data.primitives.numbers.number_to_currency(amount: float, currency: str = 'USD', lang: str = 'en') str¶
Convert number to currency words.
Args: amount: Amount to convert currency: Currency code (default: ‘USD’). Common codes include ‘USD’, ‘EUR’, ‘GBP’, etc. Supported currencies vary by language. The code is treated case-insensitively. lang: Language code (default: ‘en’). Supported languages include ‘en’, ‘es’, ‘fr’, ‘de’, and many others (see num2words documentation)
Returns: Currency as words
Raises: ValueError: If the specified language or currency code is empty or not supported by num2words for the given language
Example: >>> number_to_currency(42.50) ‘forty-two dollars and fifty cents’