Поиск по сайту:

Как преобразовать строку в число с плавающей запятой в Python


Введение

В этой статье мы будем использовать функцию Python float() для преобразования строк в числа с плавающей запятой. И мы также будем использовать функцию Python str() для преобразования чисел с плавающей запятой в строки.

Важно правильно преобразовать типы данных перед их использованием для вычислений и конкатенаций, чтобы предотвратить ошибки во время выполнения.

Предпосылки

Для выполнения этого урока вам понадобятся:

  • Знакомство с установкой Python 3. И знакомство с программированием на Python. VS Code для Python.

Это руководство было протестировано с Python 3.9.6.

Использование функции float()

Мы можем преобразовать строку в число с плавающей запятой в Python, используя функцию float(). Это встроенная функция, используемая для преобразования объекта в число с плавающей запятой. Внутри функция float() вызывает указанную функцию объекта __float__().

Пример

Давайте посмотрим на пример преобразования строки в число с плавающей запятой в Python:

input_1 = '10.5674'

input_1 = float(input_1)

print(type(input_1))
print('Float Value =', input_1)

Выход:

<class 'float'>
Float Value = 10.5674

Строковое значение 10,5674 было преобразовано в значение с плавающей запятой 10,5674.

Зачем нам нужно преобразовать строку в число с плавающей запятой?

Если мы получаем значение с плавающей запятой от пользовательского ввода через терминал или читаем его из файла, то они являются строковыми объектами. Мы должны явно преобразовать их в число с плавающей запятой, чтобы мы могли выполнять над ними необходимые операции, такие как сложение, умножение и т. д.

input_1 = input('Please enter first floating point value:\n')
input_1 = float(input_1)

input_2 = input('Please enter second floating point value:\n')
input_2 = float(input_2)

print(f'Sum of {input_1} and {input_2} is {input_1+input_2}')

Примечание. Если вы не знакомы с форматированием строк с использованием префикса f, прочтите f-строки в Python.

Давайте запустим этот код и предоставим значения с плавающей запятой для input_1 и input_2:

Please enter first floating point value:
10.234
Please enter second floating point value:
2.456
Sum of 10.234 and 2.456 is 12.69

Итоговая сумма 10,234 и 2,456 составляет 12,69.

В идеале мы должны использовать блок try-except для перехвата исключений в случае недопустимого ввода пользователя.

Использование функции ул()

Мы также можем преобразовать число с плавающей запятой в строку с помощью функции str(). Это может потребоваться в ситуациях, когда мы хотим объединить значения с плавающей запятой.

Пример

Давайте посмотрим на пример:

input_1 = 10.23
input_2 = 20.34
input_3 = 30.45

# using f-string from Python 3.6+, change to format() for older versions
print(f'Concatenation of {input_1} and {input_2} is {str(input_1) + str(input_2)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{str(input_1)},{str(input_2)},{str(input_3)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{", ".join([str(input_1),str(input_2),str(input_3)])}')

Давайте запустим этот код:

Concatenation of 10.23 and 20.34 is 10.2320.34
CSV from 10.23, 20.34 and 30.45:
10.23,20.34,30.45
CSV from 10.23, 20.34 and 30.45:
10.23, 20.34, 30.45

Объединение 10.23 и 20.34 дает строку 10.2320.34. Этот код также создает две версии значений, разделенных запятыми (CSV).

Если мы не преобразуем число с плавающей запятой в строку в приведенной выше программе, функция join() выдаст исключение. Кроме того, мы не сможем использовать оператор + для конкатенации, так как он добавит числа с плавающей запятой.

Заключение

Вы можете ознакомиться с полным скриптом Python и другими примерами Python в нашем репозитории GitHub.

Использованная литература:

  • float() официальная документация