Kaip suformatuoti kintamąjį skaičių į fiksuoto pločio formatą, kai taikomi šie reikalavimai:
Pavyzdžiui:
% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print formatter.format(number)
Išvestis būtų tokia
23.2300
0.1233
1.0000
4.2230
9887.2000
for x in numbers:
print "{:10.4f}".format(x)
spausdina
23.2300
0.1233
1.0000
4.2230
9887.2000
Formato žymuo laužtiniuose skliaustuose atitinka Python formatų eilučių sintaksę. Konkrečiai šiuo atveju jį sudaro šios dalys:
format()
" argumentą - šiuo atveju x
kaip vienintelį argumentą.10.4f
dalis yra formato specifikacija.f
reiškia fiksuoto taško užrašą.10
yra bendras spausdinamo lauko plotis, užpildytas tarpais.4
yra skaitmenų skaičius po kablelio.Python3 veikia taip:
>>> v=10.4
>>> print('% 6.2f' % v)
10.40
>>> print('% 12.1f' % v)
10.4
>>> print('%012.1f' % v)
0000000010.4
Žr. Python 3.x formatų eilučių sintaksė:
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