2010-08-30 12 views
19

Próbuję reprezentować liczbę z zerami wiodącymi i końcowymi, tak aby całkowita szerokość wynosi 7, w tym przecinek dziesiętny. Na przykład chcę reprezentować "5" jako "005.000". Wygląda na to, że formatowanie ciągów znaków pozwoli mi na wykonanie jednego lub drugiego, ale nie obu. Oto wynik otrzymuję w ipython ilustrujący mój problem:Jak używać formatowania ciągów, aby wyświetlić dwa początkowe zera i dokładność 3?

In [1]: '%.3f'%5 
Out[1]: '5.000' 

In [2]: '%03.f'%5 
Out[2]: '005' 

In [3]: '%03.3f'%5 
Out[3]: '5.000' 

Linia 1 i 2 robią dokładnie to, czego można oczekiwać. Linia 3 po prostu ignoruje fakt, że chcę prowadzić zera. Jakieś pomysły? Dzięki!

Odpowiedz

36

Pierwsza liczba to całkowita liczba , w tym dziesiętny.

>>> '%07.3f' % 5 
'005.000' 
+0

Ma sens, dzięki! – cat

+0

kropka dziesiętna jest cyfrą? –

+7

To również liczy znak minus! bleh, niezwykle tandetny dla Pythona IMHO – meawoppl

6

[Edycja: Gah, bity] ponownie

'%07.3F'%5 

Pierwsza liczba jest całkowitą szerokość pól.

Powiązane problemy