int()
. Например:
number_string = "123"
number_int = int(number_string)
print(number_int) # Вывод: 123
print(type(number_int)) # Вывод: <class 'int'>
Необходимо обрабатывать исключение ValueError
, если строка не может быть преобразована в целое число.
try:
number_string = "abc"
number_int = int(number_string)
except ValueError:
print("Невозможно преобразовать строку в целое число")
Для преобразования строки в целое число в Python используются функции int()
и, реже, float()
с последующим приведением к целому типу.
Функция int()
:
Это основной и наиболее часто используемый способ. Она пытается преобразовать строку в целое число. Если строка не может быть преобразована (например, содержит буквы или символы, отличные от цифр и знака минус), возникает исключение ValueError
.
# Базовое использование
string_number = "123"
integer_number = int(string_number)
print(integer_number, type(integer_number)) # Output: 123 <class 'int'>
# Строка с отрицательным числом
string_negative = "-456"
negative_number = int(string_negative)
print(negative_number, type(negative_number)) # Output: -456 <class 'int'>
# Строка с ведущими пробелами (они игнорируются)
string_with_spaces = " 789 "
number_with_spaces = int(string_with_spaces)
print(number_with_spaces, type(number_with_spaces)) # Output: 789 <class 'int'>
# Преобразование из шестнадцатеричной системы
hex_string = "FF"
decimal_number = int(hex_string, 16) # Второй аргумент - основание системы счисления
print(decimal_number, type(decimal_number)) # Output: 255 <class 'int'>
# Обработка исключений
string_invalid = "abc"
try:
invalid_number = int(string_invalid)
print(invalid_number) # Это не выполнится, если возникнет исключение
except ValueError:
print("Невозможно преобразовать строку в целое число.")
string_float = "3.14" # строка, представляющая дробное число
try:
float_to_int = int(string_float)
print(float_to_int)
except ValueError:
print("Невозможно преобразовать строку, представляющую дробное число напрямую в int. Используйте float() сначала.")
Обработка ошибок:
Важно оборачивать преобразование в блоки try...except
для обработки возможных исключений ValueError
, которые возникают, если строка не соответствует формату целого числа. Это предотвращает аварийное завершение программы.
Преобразование строк, представляющих числа с плавающей точкой:
Если строка представляет число с плавающей точкой (например, "3.14"), сначала необходимо преобразовать ее в float
, а затем в int
(если требуется именно целое число). При преобразовании float в int дробная часть будет отброшена.
float_string = "3.14"
float_number = float(float_string)
integer_number = int(float_number) # Дробная часть будет отброшена!
print(integer_number, type(integer_number)) # Output: 3 <class 'int'>
Альтернативные варианты (менее распространены):
Можно использовать модуль decimal
для более точной обработки чисел с плавающей точкой перед преобразованием в целое число, особенно если важна точность.