Python locale.localeconv() Function



The Python locale.localeconv() function is used to retrieve the current locale conventions as a dictionary. This dictionary contains information related to numeric formatting and currency settings for the currently set locale.

This function is particularly useful for applications that need to format numbers and currency according to regional settings.

Syntax

Following is the syntax of the Python locale.localeconv() function βˆ’

locale.localeconv()

Parameters

This function does not take any parameters.

Return Value

This function returns a dictionary containing the localeҀ™s numeric and monetary formatting settings.

Example 1

Following is an example of the Python locale.localeconv() function. Here, we retrieve the locale settings for the default locale βˆ’

import locale

locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
locale_info = locale.localeconv()
print(locale_info)

Following is the output of the above code (output may vary depending on the system) βˆ’

{'int_curr_symbol': 'USD', 'currency_symbol': '$', 'mon_decimal_point': '.', 'mon_thousands_sep': ',', 'mon_grouping': [3, 0], 'positive_sign': '', 'negative_sign': '-', 'int_frac_digits': 2, 'frac_digits': 2, 'p_cs_precedes': 1, 'p_sep_by_space': 0, 'n_cs_precedes': 1, 'n_sep_by_space': 0, 'p_sign_posn': 3, 'n_sign_posn': 0, 'decimal_point': '.', 'thousands_sep': ',', 'grouping': [3, 0]}

Example 2

Here, we change the locale to French and retrieve the locale conventions βˆ’

import locale

locale.setlocale(locale.LC_ALL, "fr_FR.UTF-8")
locale_info = locale.localeconv()
print(locale_info)

Output of the above code is as follows (output may vary based on system settings) βˆ’

{'int_curr_symbol': 'EUR', 'currency_symbol': '҂¬', 'mon_decimal_point': ',', 'mon_thousands_sep': '\u202f', 'mon_grouping': [3, 0], 'positive_sign': '', 'negative_sign': '-', 'int_frac_digits': 2, 'frac_digits': 2, 'p_cs_precedes': 0, 'p_sep_by_space': 1, 'n_cs_precedes': 0, 'n_sep_by_space': 1, 'p_sign_posn': 1, 'n_sign_posn': 1, 'decimal_point': ',', 'thousands_sep': '\u202f', 'grouping': [3, 0]}

Example 3

Now, we use the locale.localeconv() function to extract specific information about currency formatting βˆ’

import locale

locale.setlocale(locale.LC_ALL, "de_DE.UTF-8")
locale_info = locale.localeconv()
currency_symbol = locale_info['currency_symbol']
decimal_point = locale_info['decimal_point']
print("Currency Symbol:", currency_symbol)
print("Decimal Point Character:", decimal_point)

The result obtained is as shown below (output may vary) βˆ’

Currency Symbol: ҂¬
Decimal Point Character: ,

Example 4

We can use the locale.localeconv() function to format a currency string manually using the locale settings βˆ’

import locale

locale.setlocale(locale.LC_ALL, "it_IT.UTF-8")
locale_info = locale.localeconv()
currency_symbol = locale_info['currency_symbol']
thousands_sep = locale_info['thousands_sep']
amount = "1{}234{}56".format(thousands_sep, locale_info['decimal_point'])
formatted_currency = currency_symbol + " " + amount
print("Formatted Currency:", formatted_currency)

The result produced is as follows (output may vary) βˆ’

Formatted Currency: ҂¬ 1.234,56
python_modules.htm
Advertisements