Wie rundet man Gleitkommazahlen in Python auf eine signifikante Zahl?

DDD
Freigeben: 2024-11-16 08:57:03
Original
403 Leute haben es durchsucht

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
Nach dem Login kopieren

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)))))
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage