Преобразование строки в float или int

В этом примере посмотрим, как превратить строку с цифрами в число — целое или с плавающей точкой. Для этого в Python есть встроенные функции int() и float().

Что нужно знать

Перед изучением примера полезно понимать:

Пример 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. При этом дробная часть просто отбрасывается.