Android

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

Мицубиси Делика против УАЗ Хантер

Мицубиси Делика против УАЗ Хантер

Оглавление:

Anonim

Все типы данных в Python, включая целые числа и строки, являются объектами. Часто при написании кода на Python вам необходимо преобразовать один тип данных в другой. Например, чтобы выполнить математическую операцию с числом, представленным в виде строки, его необходимо преобразовать в целое число.

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

Функция Python int()

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

int(x, base=10)

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

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

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

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

Преобразование строки Python в целое число

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

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

days = "23" type(days)

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

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

print(days+5)

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

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

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

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

print(days_int+5)

28

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

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

1000000

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

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

int("D5CF", 16)

54735

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

int("D5CF")

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

Вывод

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

питон