Сохранить нулевую цифру при преобразовании строки в целое число в Python - PullRequest
0 голосов
/ 09 мая 2018

Я преобразую строку в целое число, используя функцию int, и она работает нормально, но я хочу сохранить нулевую цифру, которая находится в начале строки.

string_value = '0123'
print(int(string_value))
result is 123

Как я могу отформатировать вывод 0123как в значении целочисленного типа, а не в строке.

Ответы [ 3 ]

0 голосов
/ 09 мая 2018

Невозможно, вы не можете получить целое значение 0123.

Вам следует передумать, вам на самом деле не нужно 0123 в целых числах, но вам нужно держать ноль при его отображении. Поэтому вопрос должен измениться на форматирование вывода.

0 голосов
/ 09 мая 2018

Как и каждый сказал, вы можете попробовать ответы выше или ниже:

string_value = '0123'
int_no = int(string_value)

print("%04d" % int_no)

print(string_value.zfill(4))

Оба дадут одинаковый ответ

0 голосов
/ 09 мая 2018

Вы не можете, но если вы хотите поставить 0 (заполнение нулями) в начале вашего номера, это способ сделать это.

"{:04}".format(123)
# '0123'

"{:05}".format(123)
# '00123'
...