Преобразование строки в float или int
В этом примере посмотрим, как превратить строку с цифрами в число — целое или с плавающей точкой. Для этого в Python есть встроенные функции int() и float().
Что нужно знать
Перед изучением примера полезно понимать:
Типы данных Python — типы данных
Python: строки — строки
Пример 1. Строка в целое число
balance_str = "1500"
balance_int = int(balance_str)
# print the type
print(type(balance_int))
# print the value
print(balance_int)
Вывод
<class 'int'>
1500
Функция int() принимает строку и возвращает соответствующее целое число. В примере мы передаём строку "1500" и видим, что тип результата уже int.
Важно: строка должна содержать только цифры (без точек и других символов), иначе будет ошибка.
Пример 2. Строка в число с плавающей точкой
balance_str = "1500.4"
balance_float = float(balance_str)
# print the type
print(type(balance_float))
# print the value
print(balance_float)
Вывод
<class 'float'>
1500.4
Функция float() работает похожим образом, но возвращает число типа float. На вход можно подавать строку с точкой — например, "1500.4".
Пример 3. Строка с дробной частью в целое число
balance_str = "1500.34"
balance_int = int(float(balance_str))
# print the type
print(type(balance_int))
# print the value
print(balance_int)
Вывод
<class 'int'>
1500
Если строка содержит дробное число, напрямую передать её в int() нельзя — будет ошибка. Сначала превращаем строку в float, а затем уже полученный float — в int. При этом дробная часть просто отбрасывается.