Введение
В этой статье мы будем использовать функцию float()
Python для преобразования строк в числа с плавающей точкой. И мы также будем использовать функцию str()
Python для преобразования чисел с плавающей точкой в строки.
Важно правильно преобразовывать типы данных перед их использованием для вычислений и конкатенаций, чтобы избежать ошибок времени выполнения.
Предварительные требования
Для завершения этого руководства вам понадобятся:
- Знание установки Python 3 и опыт работы с кодированием на Python. Как программировать на Python 3 или использование 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()
Мы также можем преобразовать число с плавающей запятой в строку с помощью функции str()
. Это может потребоваться в ситуациях, когда нам нужно объединить значения с плавающей запятой.
Пример
Давайте рассмотрим пример:
input_1 = 10.23
input_2 = 20.34
input_3 = 30.45
# Используем f-строки с Python 3.6+, для более старых версий используйте format()
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.
Ссылки:
Source:
https://www.digitalocean.com/community/tutorials/python-convert-string-to-float