1420 Stimmen

Nummer mit führenden Nullen anzeigen

Wie kann ich eine führende Null für alle Zahlen mit weniger als zwei Ziffern anzeigen?

1      01
10     10
100    100

4voto

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

2voto

Linekio Punkte 11

Verwendung:

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

Oder mit dem math Modul:

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

2voto

handle Punkte 5667

All dies ergibt die Zeichenkette "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

1voto

Zahid Riaz Punkte 1

Dies wäre die Python-Methode, obwohl ich den Parameter für Klarheit - "{0:0>2}".format(number), wenn jemand will nLeadingZeros sollten sie beachten, sie können auch tun: "{0:0>{1}}".format(number, nLeadingZeros + 1)

-2voto

Knowbody Punkte 66

Wenn es sich um ein- oder zweistellige Zahlen handelt:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X