Лучший способ отформатировать целое число как строку с начальными нулями? [дубликат]

Это та же самая грамматика, но проще: A -> a | ';' | ';' A

Это все еще не LL (1). Но, удаляя левый фактор, теперь это LL (1): A -> a B B -> ε | ';' C C -> ε | A

269
задан Matthew Schinckel 9 April 2009 в 00:58
поделиться

6 ответов

Вы можете использовать метод zfill () для дополнения строки нулями:

In [3]: str(1).zfill(2)
Out[3]: '01'
568
ответ дан 23 November 2019 в 02:19
поделиться

Python 2.6 позволяет это:

add_nulls = lambda number, zero_count : "{0:0{1}d}".format(number, zero_count)

>>>add_nulls(2,3)
'002'
21
ответ дан clorz 23 November 2019 в 02:19
поделиться

Это моя функция Python:

def add_nulls(num, cnt=2):
  cnt = cnt - len(str(num))
  nulls = '0' * cnt
  return '%s%s' % (nulls, num)
-2
ответ дан Peter Mortensen 23 November 2019 в 02:19
поделиться

You have at least two options:

  • str.zfill: lambda n, cnt=2: str(n).zfill(cnt)
  • % formatting: lambda n, cnt=2: "%0*d" % (cnt, n)

If on Python >2.5, see a third option in clorz's answer.

5
ответ дан tzot 23 November 2019 в 02:19
поделиться

Простое преобразование будет (опять же с функцией):

def add_nulls2(int, cnt):
    nulls = str(int)
    for i in range(cnt - len(str(int))):
        nulls = '0' + nulls
    return nulls
1
ответ дан rpr 23 November 2019 в 02:19
поделиться

Скорее всего, вам просто нужно отформатировать целое число:

'%0*d' % (fill, your_int)

Например,

>>> '%0*d' % (3, 4)
'004'
67
ответ дан Peter Mortensen 23 November 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: