Python Glossary English

все Python 3localeфункция

locale.atof()

числа и деньги

Превращает строку в число по правилам текущей LC_NUMERIC: убирает разделитель тысяч и понимает местную десятичную запятую.

Синтаксис

locale.atof(string, func=float)

Пока никто не вызвал setlocale(), действует локаль 'C', и atof('1,5') падает так же, как float('1,5') — функция не «угадывает» русскую запятую сама. А после setlocale() результат разбора зависит от глобального состояния процесса, так что для данных из файлов надёжнее явная замена s.replace(',', '.'). Второй аргумент func позволяет получить Decimal вместо float.

Примеры

import locale
from decimal import Decimal
print(locale.atof('3.14'), locale.atof('2.50', Decimal))  # → 3.14 2.50
locale.atof('1,5')  # → ValueError: could not convert string to float: '1,5'

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности