504 Stimmen

Formatierung einer Fließkommazahl auf feste Breite in Python

Wie formatiere ich eine Gleitkommazahl auf eine feste Breite mit den folgenden Anforderungen?

  1. Führende Null, wenn n < 1
  2. Fügen Sie nach dem Komma eine oder mehrere Nullen hinzu, um die feste Breite aufzufüllen.
  3. Abschneiden von Dezimalziffern über die festgelegte Breite hinaus
  4. Alle Dezimalpunkte ausrichten

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ürde wie folgt aussehen

  23.2300
   0.1233
   1.0000
   4.2230
9887.2000

12voto

readyleader Punkte 121

Siehe Python 3.x Format-String-Syntax :

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

12voto

Matt Punkte 81

Damit wird gedruckt 76.66 :

print("Number: ", f"{76.663254: .2f}")

4voto

Usman Zia Punkte 51

In Python 3.

GPA = 2.5
print(" %6.1f " % GPA)

6.1f bedeutet, dass nach den Punkten 1 Ziffer erscheint, wenn Sie 2 Ziffern nach den Punkten drucken, sollten Sie nur %6.2f derart, dass %6.3f Nach dem Punkt werden 3 Ziffern gedruckt.

1voto

Anton Punkte 51

Ich brauchte etwas Ähnliches für Arrays. Das half mir

some_array_rounded=np.around(some_array, 5)

-1voto

Ich habe alle Optionen ausprobiert, wie

  1. pd.options.display.float_format = '{:.4f}'.format
  2. pd.set_option('display.float_format', str)
  3. pd.set_option('display.float_format', lambda x: f'%.{len(str(x%1))-2}f' % x)
  4. pd.set_option('display.float_format', lambda x: '%.3f' % x)

aber nichts hat bei mir funktioniert.

so dass bei der Zuweisung der Variablen/des Wertes ( var1 ) auf eine Variable (zum Beispiel num1 ) Ich habe round(val,5) wie

num1 = round(var1,5)

Dies ist eine grobe Methode, da Sie diese Rundungsfunktion bei jeder Zuordnung verwenden müssen. Aber so haben Sie die Kontrolle darüber, wie es geschieht und bekommen, was Sie wollen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X