Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rundet man Gleitkommazahlen in Python auf eine signifikante Zahl?

Wie rundet man Gleitkommazahlen in Python auf eine signifikante Zahl?

DDD
DDDOriginal
2024-11-16 08:57:03406Durchsuche

How to Round Floating-Point Numbers to One Significant Figure in Python?

Zahlen auf signifikante Zahlen in Python runden

Bei der Anzeige von Gleitkommazahlen in einer Benutzeroberfläche müssen Sie diese häufig auf a runden bestimmte Anzahl bedeutender Figuren. Python bietet eine bequeme Möglichkeit, dies mithilfe negativer Zahlen zu erreichen.

Für ganze Zahlen können Sie negatives Runden verwenden, um die Anzahl der Dezimalstellen anzugeben:

>>> round(1234, -3)
1000.0

Um diesen Ansatz auf das Runden von a zu erweitern Wenn Sie die Zahl auf eine signifikante Zahl verschieben möchten, können Sie die folgende Funktion verwenden:

from math import log10, floor

def round_to_1(x):
    return round(x, -int(floor(log10(abs(x)))))

Diese Funktion berechnet die Anzahl der zu rundenden Dezimalstellen basierend auf dem Absolutwert der Zahl und gibt den gerundeten Wert zurück.

Hier sind einige Beispiele dafür, wie es funktioniert:

>>> round_to_1(0.0232)
0.02
>>> round_to_1(1234243)
1000000.0
>>> round_to_1(13)
10.0
>>> round_to_1(4)
4.0
>>> round_to_1(19)
20.0

Beachten Sie, dass Sie Gleitkommazahlen größer als 1 vor dem Runden möglicherweise in Ganzzahlen umwandeln müssen.

Das obige ist der detaillierte Inhalt vonWie rundet man Gleitkommazahlen in Python auf eine signifikante Zahl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn