Сохранение лидирующих нулей при типизации int в строку - PullRequest
0 голосов
/ 09 июня 2018

Я пишу код, в котором разбиваю число на 2 части: левую и правую половину.

Например, 5105 разбит на 51 и 05.

Для этого я пишу простой код следующим образом

number_xs= str(x)

Теперь проблема в том, когда передать 05 в x.number_xs - только 5. Я хочу, чтобы оно было 05, так как я конвертирую этот 0 обратно в int и передаю его где-то еще в коде.Прямо сейчас он берет банк и выдает мне ошибку ValueError: неверный литерал для int () с основанием 10:

Также обратите внимание, что я заранее не знаю, что это один ноль или 2 или 3. скажем, число можетбыть 0075 и хочу, чтобы 2 ноля были там, когда я приведу тип.

Дальнейшая публикация части кода

def ABC (x):
    # Dividing number into 2 equal half   
    number_xs= str(x)
    l_x=len(number_xs)/2
    a,b=number_xs[:l_x],number_xs[l_x:]
    print a
    a=int(a)
    b=int(b)
    #print a
    #print b

Заранее спасибо Aashish

1 Ответ

0 голосов
/ 10 июня 2018

вы хотите, чтобы длина вашей строки была всегда четной

def ABC (x):
    # Dividing number into 2 equal half
    number_xs = str(x)
    if len(number_xs)%2 == 1:
        number_xs = '0'+number_xs
    l_x=len(number_xs)/2
    a,b=number_xs[:l_x],number_xs[l_x:]
    print('str', a, b)
    a=int(a)
    b=int(b)
    print('int', a, b)
...