diff --git a/babel/numbers.py b/babel/numbers.py index b782521e5..490a51687 100644 --- a/babel/numbers.py +++ b/babel/numbers.py @@ -593,6 +593,7 @@ def format_decimal( :raise `UnsupportedNumberingSystemError`: If the numbering system is not supported by the locale. """ locale = Locale.parse(locale or LC_NUMERIC) + _get_number_symbols(locale, numbering_system=numbering_system) if format is None: format = locale.decimal_formats[format] pattern = parse_pattern(format) diff --git a/tests/test_numbers.py b/tests/test_numbers.py index d20a18315..45571c977 100644 --- a/tests/test_numbers.py +++ b/tests/test_numbers.py @@ -213,6 +213,18 @@ def test_format_decimal(): numbers.format_decimal(12345.5, locale='en_US', numbering_system="unknown") +@pytest.mark.parametrize('number', [0, 1, 1.0001]) +@pytest.mark.parametrize('group_separator', [False, True]) +def test_format_decimal_unsupported_numbering_system_without_fraction(number, group_separator): + with pytest.raises(numbers.UnsupportedNumberingSystemError): + numbers.format_decimal( + number, + locale='en_US', + group_separator=group_separator, + numbering_system='unknown', + ) + + @pytest.mark.parametrize(('input_value', 'expected_value'), [ ('10000', '10,000'), ('1', '1'),