Kako oblikovati plavajoče število v fiksno širino v Pythonu

Kako oblikujem plavajoče število v fiksno širino z naslednjimi zahtevami:

  1. Vodilna ničla, če n < 1
  2. Dodajte zadnjo decimalno ničlo(e), da zapolnite fiksno širino
  3. Skrajšanje decimalnih številk za fiksno širino
  4. Poravnajte vse decimalne točke

Na primer:

% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]

for number in numbers:
    print formatter.format(number)

Izpis bi bil takšen

  23.2300
   0.1233
   1.0000
   4.2230
9887.2000
Rešitev
for x in numbers:
    print "{:10.4f}".format(x)

natisne

   23.2300
    0.1233
    1.0000
    4.2230
 9887.2000

Specifikator formata znotraj oglatih oklepajev sledi sintaksi formatnega niza v Pythonu. V tem primeru je sestavljen iz naslednjih delov:

  • prazen niz pred dvopičjem pomeni "vzemi naslednji posredovani argument za format()" - v tem primeru je edini argument x.
  • Del 10.4f za dvopičjem je specifikacija formata.
  • Znak f označuje zapis s fiksno točko.
  • Številka 10 je skupna širina izpisanega polja, ki je levo zapolnjena s presledki.
  • Številka 4 je število številk za decimalno vejico.
Komentarji (12)

V python3 deluje naslednje:

>>> v=10.4
>>> print('% 6.2f' % v)
  10.40
>>> print('% 12.1f' % v)
        10.4
>>> print('%012.1f' % v)
0000000010.4
Komentarji (2)

Glejte Python 3.x sintaksa formatnega niza:

IDLE 3.5.1   
numbers = ['23.23', '.1233', '1', '4.223', '9887.2']

for x in numbers:  
    print('{0: >#016.4f}'. format(float(x)))  

     23.2300
      0.1233
      1.0000
      4.2230
   9887.2000
Komentarji (0)