Wie formatiere ich eine schwebende Zahl mit den folgenden Anforderungen auf eine feste Breite:
- Führende Null, wenn n <1 ist
- Fügen Sie nachfolgende Dezimalnullen hinzu, um die feste Breite auszufüllen
- Schneiden Sie Dezimalstellen über die feste Breite hinaus ab
- Richten Sie alle Dezimalstellen aus
Zum Beispiel:
% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print formatter.format(number)
Die Ausgabe wäre wie
23.2300
0.1233
1.0000
4.2230
9887.2000
python
string
numbers
number-formatting
hobbes3
quelle
quelle
10.4
bedeutet eine Breite von 10 Zeichen und eine Genauigkeit von 4 Dezimalstellen.10
ist die minimale Feldbreite , dh die minimale Länge der gedruckten Zeichenfolge. Zahlen sind standardmäßig rechtsbündig und mit Leerzeichen aufgefüllt. Weitere Informationen finden Sie in der Dokumentation .("%0.4f" % x).rjust(10)
"%10.4f" % x
. In Python 2.6 können Sie auch verwenden"{0:10.4f}".format(x)
.Es ist einige Jahre her, seit dies beantwortet wurde, aber ab Python 3.6 ( PEP498 ) können Sie Folgendes verwenden
f-strings
:Drucke:
quelle
In Python3 funktioniert Folgendes:
quelle
%
ist die Formatierung die älteste Formatierungsmethode. Aus mehreren Gründen wirdstr.format
oderf-strings
bevorzugt%
. Früher, als es nur warstr.format
, hatten die Leute einige Gründe, aberf-strings
dieses Loch behoben. Format Mini-Sprache Dokumente , str.format Beispiele aus Dokumenten und F-String Literale Beispiele in DokumentenSiehe String 3. Syntax im Python 3.x- Format :
quelle
Sie können das Pad auch mit Nullen belassen. Wenn Sie beispielsweise
number
eine Länge von 9 Zeichen haben möchten , verwenden Sie Folgendes:print('{:09.3f}'.format(number))
Wenn also
number = 4.656
, ist die Ausgabe:00004.656
In Ihrem Beispiel sieht die Ausgabe folgendermaßen aus:
Drucke:
Ein Beispiel, bei dem dies nützlich sein kann, ist, wenn Sie Dateinamen in alphabetischer Reihenfolge ordnungsgemäß auflisten möchten. Ich habe in einigen Linux-Systemen festgestellt, dass die Nummer: 1,10,11, .. 2,20,21, ...
Wenn Sie also die erforderliche numerische Reihenfolge in Dateinamen erzwingen möchten, müssen Sie das Feld mit der entsprechenden Anzahl von Nullen belassen.
quelle
In Python 3.
6.1f
bedeutet, dass nach den Punkten 1 Ziffern angezeigt werden, wenn Sie 2 Ziffern nach den Punkten drucken, sollten Sie nur%6.2f
so, dass%6.3f
3 Ziffern nach dem Punkt gedruckt werden.quelle