2017-12-11 1 views
0

In der round() Funktion ist es möglich, von einem Schwimmer zu gehen, um eine Zahl zu, dh auf den zehn-Punkt abgerundet:Format Schwimmer in Dezimalzahlen (Einer, Zehner, Hunderter ...)

round(123.2,-1) ergibt 120

oder

round(123,2,0) ergibt 123

gibt es eine Möglichkeit, die gleiche Sache mit Format zu tun?

Like: "{:.-1f}".format(123.2) = "120"

oder in anderer Schreibweise?

format(123.2,.-1f)="120" 
+1

Könnten Sie verwenden 'round' nicht nur die Zahl, die Sie und angezeigt werden sollen zu bekommen? –

+0

Das ist eine Lösung, aber ist es nicht möglich, die Formatfunktion direkt zu verwenden? – User123456789

+0

Nein, Sie können nicht, nur die Nummer zuerst runden. (Sie können in einem 'f '...' 'string, weil das Ausdrücke akzeptiert). –

Antwort

1

Nein, das geht nicht. Die Formatierung gibt die Breite der Ausgabe an (wobei die Anzahl der Nachkommastellen tatsächlich eine Breitenanpassung ist), wobei die Rundung nur verwendet wird, um die richtige Breite zu erreichen.

Nur zuerst runden, dann das abgerundete Ergebnis formatieren.

In Python 3.6 und höher, können Sie den Rundungs ​​Ausdruck in einem f-string, natürlich setzen:

f'Result: {round(123.2, -1)}' 
Verwandte Themen