7 Stimmen

Python - Dezimalstellen (Einfügen von Fließkommazahlen in eine Zeichenkette)

Ich habe das Format verwendet:

print 'blah, blah %f' %variable

um Variablen in Zeichenketten einzufügen. Ich habe gehört, dass es pythonischer ist als der "+str()+"-Ansatz, und ich habe mich ziemlich daran gewöhnt. Gibt es eine Möglichkeit, die Dezimalstellen anzugeben, die der Zeichenkette mit %f hinzugefügt werden? Ich habe versucht, die Zahl zu runden, bevor ich die Variable eingebe.

Danke

12voto

Jacob Punkte 40193
>>> variable = 12
>>> print 'blah, blah %4.3f' %variable
blah, blah 12.000
>>> print 'blah, blah %1.1f' %variable
blah, blah 12.0

Hier ist die Python Doc Link bitte berücksichtigen:

Da str.format() recht neu ist, verwenden viele Python-Codes immer noch die % Operator. Da dieser alte Stil der Formatierung jedoch aus der Sprache entfernt werden wird, sollte str.format() im Allgemeinen verwendet werden.

6voto

Kirk Strauser Punkte 29205

In Python Version 2.6 und neuer können Sie verwenden:

>>> print('blah, blah {0:.2f}'.format(variable))

wobei sich "0" auf den ersten in str.format übergebenen Wert bezieht, ":" bedeutet "hier kommt die Formatspezifikation", und ".2f" bedeutet "Fließkommazahl mit zwei Dezimalstellen Genauigkeit". Dies ist die vorgeschlagene Art der Formatierung von Zeichenketten.

3voto

Johann Punkte 534

Für Python ab Version 3.6 gibt es auch die Möglichkeit, f-strings zu verwenden, was ganz ähnlich funktioniert wie das, was Kirk Strauser in seiner Antwort gezeigt hat

print(f'blah, blah {variable:.2f}')

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