How do i show 00 in python?

How do I display a leading zero for all numbers with less than two digits?

1    →  01
10   →  10
100  →  100

How do i show 00 in python?

Mateen Ulhaq

22.2k16 gold badges86 silver badges127 bronze badges

asked Sep 25, 2008 at 18:06

ashchristopherashchristopher

24k17 gold badges45 silver badges49 bronze badges

0

In Python 2 (and Python 3) you can do:

number = 1
print("%02d" % (number,))

Basically % is like printf or sprintf (see docs).


For Python 3.+, the same behavior can also be achieved with format:

number = 1
print("{:02d}".format(number))

For Python 3.6+ the same behavior can be achieved with f-strings:

number = 1
print(f"{number:02d}")

Flimm

122k39 gold badges233 silver badges245 bronze badges

answered Sep 25, 2008 at 18:08

9

You can use str.zfill:

print(str(1).zfill(2))
print(str(10).zfill(2))
print(str(100).zfill(2))

prints:

01
10
100

How do i show 00 in python?

Neuron

4,5784 gold badges32 silver badges53 bronze badges

answered Jul 30, 2010 at 11:58

How do i show 00 in python?

DatageekDatageek

24.9k6 gold badges62 silver badges67 bronze badges

5

In Python 2.6+ and 3.0+, you would use the format() string method:

for i in (1, 10, 100):
    print('{num:02d}'.format(num=i))

or using the built-in (for a single number):

print(format(i, '02d'))

See the PEP-3101 documentation for the new formatting functions.

How do i show 00 in python?

phoenix

6,3884 gold badges36 silver badges44 bronze badges

answered Sep 25, 2008 at 18:43

How do i show 00 in python?

BerBer

38.1k15 gold badges68 silver badges82 bronze badges

2

print('{:02}'.format(1))
print('{:02}'.format(10))
print('{:02}'.format(100))

prints:

01
10
100

How do i show 00 in python?

Neuron

4,5784 gold badges32 silver badges53 bronze badges

answered Nov 13, 2013 at 19:30

How do i show 00 in python?

KresimirKresimir

2,8101 gold badge18 silver badges13 bronze badges

2

In Python >= 3.6, you can do this succinctly with the new f-strings that were introduced by using:

f'{val:02}'

which prints the variable with name val with a fill value of 0 and a width of 2.

For your specific example you can do this nicely in a loop:

a, b, c = 1, 10, 100
for val in [a, b, c]:
    print(f'{val:02}')

which prints:

01 
10
100

For more information on f-strings, take a look at PEP 498 where they were introduced.

How do i show 00 in python?

Neuron

4,5784 gold badges32 silver badges53 bronze badges

answered Nov 28, 2017 at 14:52

How do i show 00 in python?

Or this:

print '{0:02d}'.format(1)

answered Nov 10, 2010 at 10:03

ajdajd

9376 silver badges2 bronze badges

The Pythonic way to do this:

str(number).rjust(string_width, fill_char)

This way, the original string is returned unchanged if its length is greater than string_width. Example:

a = [1, 10, 100]
for num in a:
    print str(num).rjust(2, '0')

Results:

01
10
100

How do i show 00 in python?

Neuron

4,5784 gold badges32 silver badges53 bronze badges

answered Apr 27, 2012 at 22:02

ZuLuZuLu

9038 silver badges17 bronze badges

0

Or another solution.

"{:0>2}".format(number)

Kenly

20.9k6 gold badges41 silver badges57 bronze badges

answered Nov 22, 2015 at 21:01

WinterChillyWinterChilly

1,4993 gold badges19 silver badges29 bronze badges

1

You can do this with f strings.

import numpy as np

print(f'{np.random.choice([1, 124, 13566]):0>8}')

This will print constant length of 8, and pad the rest with leading 0.

00000001
00000124
00013566

answered Mar 11, 2020 at 18:50

How do i show 00 in python?

Nicolas GervaisNicolas Gervais

30.4k11 gold badges101 silver badges126 bronze badges

This is how I do it:

str(1).zfill(len(str(total)))

Basically zfill takes the number of leading zeros you want to add, so it's easy to take the biggest number, turn it into a string and get the length, like this:

Python 3.6.5 (default, May 11 2018, 04:00:52) 
[GCC 8.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> total = 100
>>> print(str(1).zfill(len(str(total))))
001
>>> total = 1000
>>> print(str(1).zfill(len(str(total))))
0001
>>> total = 10000
>>> print(str(1).zfill(len(str(total))))
00001
>>> 

How do i show 00 in python?

answered Jun 21, 2018 at 0:43

RobertoRoberto

4465 silver badges10 bronze badges

1

width = 5
num = 3
formatted = (width - len(str(num))) * "0" + str(num)
print formatted

answered Nov 15, 2013 at 16:33

nvdnvd

2,70826 silver badges15 bronze badges

Use:

'00'[len(str(i)):] + str(i)

Or with the math module:

import math
'00'[math.ceil(math.log(i, 10)):] + str(i)

How do i show 00 in python?

answered Apr 20, 2018 at 13:21

All of these create the string "01":

>python -m timeit "'{:02d}'.format(1)"
1000000 loops, best of 5: 357 nsec per loop

>python -m timeit "'{0:0{1}d}'.format(1,2)"
500000 loops, best of 5: 607 nsec per loop

>python -m timeit "f'{1:02d}'"
1000000 loops, best of 5: 281 nsec per loop

>python -m timeit "f'{1:0{2}d}'"
500000 loops, best of 5: 423 nsec per loop

>python -m timeit "str(1).zfill(2)"
1000000 loops, best of 5: 271 nsec per loop

>python
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32

answered Mar 9, 2021 at 18:51

How do i show 00 in python?

handlehandle

6,1343 gold badges49 silver badges76 bronze badges

This would be the Python way, although I would include the parameter for clarity - "{0:0>2}".format(number), if someone will wants nLeadingZeros they should note they can also do:"{0:0>{1}}".format(number, nLeadingZeros + 1)

answered Oct 2, 2021 at 11:23

How do i show 00 in python?

You could also do:

'{:0>2}'.format(1)

which will return a string.

answered May 16 at 19:04

How do i show 00 in python?

If dealing with numbers that are either one or two digits:

'0'+str(number)[-2:] or '0{0}'.format(number)[-2:]

answered Feb 19, 2016 at 4:20

How do you add zeros after a number in Python?

How to add leading zeros to a number in Python.
print(a_number).
number_str = str(a_number) Convert `a_number` to a string..
zero_filled_number = number_str. zfill(5) Pad `number_str` with zeros to 5 digits..
print(zero_filled_number).

How do you put a zero in front of a string in Python?

Python String zfill() Method The zfill() method adds zeros (0) at the beginning of the string, until it reaches the specified length. If the value of the len parameter is less than the length of the string, no filling is done.

What .2f means in Python?

A format of . 2f (note the f ) means to display the number with two digits after the decimal point. So the number 1 would display as 1.00 and the number 1.5555 would display as 1.56 .

How do you not remove leading zeros in Python?

Here's what you are looking for: with open('numbers','w') as f: # open a file (automatically closes) for x in range(10000): # x = 0 to 9999 f. write('{:05}\n'. format(x)) # write as a string field formatted as width 5 and leading zeros, and a newline character.