Научный числовой формат с Python Babel - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь напечатать число в формате научного числа (с показателем степени), используя пакет babel и немецкий язык:

>>> from babel.numbers import format_scientific
>>> x = 123456.789
>>> format_scientific(x, format="0.000E0", locale="de_DE")
'1.235E5'

Вместо этого я ожидал бы вывод '1,235E5' (обратите внимание на запятую вместо точки в качестве десятичного разделителя). Может быть, format_scientific не должен вызываться напрямую, и мне больше повезло с format_decimal? Нету:

>>> from babel.numbers import format_decimal
>>> format_decimal(x, format="0.000E0", locale="de_DE")
'1.235E5'

Я тестировал его на Python 3.6 и Babel 2.3.4. Это не последняя версия Babel, но их журнал изменений не указывает на то, что они исправили большую, вопиющую ошибку в работе с научным форматом, и я ничего не нашел в их багтрекере. Поскольку кажется маловероятным, что такая ошибка останется незамеченной, я, очевидно, что-то делаю не так или действую в соответствии с каким-то ошибочным предположением.

...