Πώς μπορώ να μορφοποιήσω έναν κυμαινόμενο αριθμό σε σταθερό πλάτος με τις ακόλουθες απαιτήσεις:
<ol>,
% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print formatter.format(number)
Η έξοδος θα είναι όπως
23.2300
0.1233
1.0000
4.2230
9887.2000
for x in numbers:
print "{:10.4f}".format(x)
εκτυπώνει
23.2300
0.1233
1.0000
4.2230
9887.2000
Ο προσδιορισμός μορφής μέσα στις αγκύλες ακολουθεί τη σύνταξη Python format string syntax. Συγκεκριμένα, σε αυτή την περίπτωση, αποτελείται από τα ακόλουθα μέρη:
format()
" - στην προκειμένη περίπτωση το x
ως το μοναδικό όρισμα.10.4f
μετά την άνω και κάτω τελεία είναι η προδιαγραφή μορφοποίησης.f
υποδηλώνει τη σημειογραφία σταθερού σημείου.10
είναι το συνολικό πλάτος του πεδίου που εκτυπώνεται, συμπληρωμένο με κενά.Στην python3 λειτουργεί το εξής:
>>> v=10.4
>>> print('% 6.2f' % v)
10.40
>>> print('% 12.1f' % v)
10.4
>>> print('%012.1f' % v)
0000000010.4
Βλέπε Python 3.x σύνταξη συμβολοσειράς μορφοποίησης:
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