Сначала надо ввязаться в серьезный бой, а там уже видно будет (Наполеон I).

Как конвертировать строки в целые числа в Python

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
7 октября 2019
Что нового в Python 3
Все типы данных в Python, включая целые числа и строки, являются объектами. Часто при написании кода на Python вам необходимо преобразовать один тип данных в другой. Например, чтобы выполнить математическую операцию с числом, представленным в виде строки, его необходимо преобразовать в целое число.

В этой статье мы покажем вам, как преобразовать строку Python в целое число.

 

Встроенная функция int() возвращает десятичный целочисленный объект из заданного числа или строки. Он принимает следующую форму:

int(x, base=10)

Функция принимает два аргумента:

  • x – Строка или число для преобразования в целое число.
  • base – Он представляет собой систему счисления первого аргумента. Его значение может быть 0 и 2–36. Если база не указана, по умолчанию используется 10 (десятичное целое число).

Обычно целые числа выражаются в шестнадцатеричном (основание 16), десятичном (основание 10), восьмеричном (основание 8) или двоичном (основание 2) обозначении.

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

 

В Python «строка» – это список символов, который объявляется с помощью одинарных (‘), двойных (“) или тройных кавычек (“””).

Если переменная, которая содержит только числа, объявляется с помощью кавычек, ее тип данных устанавливается на String. Рассмотрим следующий пример:

days = "23"
type(days)

Функция type() показывает нам , что daysэто объект типа String.

<type 'str'>

Давайте попробуем выполнить математическую операцию над переменной:

print(days+5)

Python выдаст ошибку исключения TypeError, потому что мы не можем выполнить сложное вычисление со строкой и целым числом:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

Чтобы преобразовать строковое представление десятичного целого числа int, передайте строку в функцию int(), которая возвращает десятичное целое число:

days = "23"days_int = int(days)type(days_int)

 

<type 'int'>

Если вы сейчас попытаетесь сделать математику, операция суммирования будет выполнена успешно:

print(days_int+5)

 

28

Если число включает запятые, отмечая тысячи, миллионы и т. д., вам необходимо удалить запятые перед передачей числа в функцию int():

total = "1,000,000"int(total.replace(",", ""))

 

1000000

При преобразовании строк, представляющих целые числа в разных системах счисления, убедитесь, что вы используете правильные значения base.

Например, в шестнадцатеричной системе число 54732 представляется как D5CF. Чтобы преобразовать его в десятичное целое, вам нужно использовать основание 16:

int("D5CF", 16)

 

54735

Если вы передадите D5CFстроку в функцию int() без установки базы, она выдаст исключение ValueError:

int("D5CF")

 

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'D5CF'

 

В Python вы можете преобразовать строку в целое число, используя функцию int().

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 399

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close