Runden auf signifikante Ziffern in Python

Shivam Arora 21 Dezember 2022
  1. Verwenden Sie die Funktion round(), um eine Zahl in Python auf die angegebene signifikante Ziffer zu runden
  2. Verwenden Sie das Modul math, um eine Zahl in Python auf die gegebene signifikante Ziffer zu runden
  3. Verwenden Sie die Zeichenkettenformatierung, um eine Zahl in Python auf die angegebene signifikante Ziffer zu runden
  4. Verwenden Sie das Modul sigfig, um eine Zahl in Python auf die gegebene signifikante Ziffer zu runden
Runden auf signifikante Ziffern in Python

Das Runden der Zahl bedeutet, eine Zahl durch einen ungefähren Wert zu ersetzen, der ihr nahe kommt. Wir können auch Zahlen auf die erforderliche signifikante Zahl runden.

In diesem Artikel runden wir eine Zahl in Python auf eine bestimmte signifikante Ziffer.

Verwenden Sie die Funktion round(), um eine Zahl in Python auf die angegebene signifikante Ziffer zu runden

Die Funktion round() rundet die angegebenen Gleitkommawerte auf die nächste ganze Zahl oder die angegebene Dezimalstelle.

Wir können eine negative Zahl verwenden, um die ganze Zahl auf den signifikanten Bodenwert zu runden, indem wir sie der Funktion round() zuweisen. Diese anzugebende negative Zahl hängt von den erforderlichen signifikanten Stellen ab.

Wenn wir beispielsweise auf eine signifikante Ziffer runden möchten, geben wir den Wert als (1-Gesamtziffern) in der Funktion round() an.

Siehe den folgenden Code.

x = round(1342, -3)
print(x)

Ausgabe:

1000

Verwenden Sie das Modul math, um eine Zahl in Python auf die gegebene signifikante Ziffer zu runden

Diese Methode ist eine Verbesserung der zuvor besprochenen Funktion. Wir können eine einfache benutzerdefinierte Funktion erstellen, um dies bequemer zu machen. Wir müssen die negative Zahl in der Funktion round() dieser Methode nicht angeben. Wir werden dies durch eine Kombination der Funktion math.floor() und der Funktion math.log10() ersetzen.

Siehe den Code unten.

from math import log10, floor


def round_it(x, sig):
    return round(x, sig - int(floor(log10(abs(x)))) - 1)


print(round_it(1324, 1))

Ausgabe:

1000

Verwenden Sie die Zeichenkettenformatierung, um eine Zahl in Python auf die angegebene signifikante Ziffer zu runden

In Python ist der Spezifizierer %g in String-Formaten eine Gleitkommazahl, die auf eine angegebene signifikante Zahl gerundet wird. Wenn die Größe der endgültigen Zahl sehr groß ist, wird sie in wissenschaftlicher Schreibweise angezeigt.

Diese Methode gibt einen String zurück. Also müssen wir die String-Zahl nach der Formatierung wieder in einen Float- oder Integer-Wert konvertieren.

Zum Beispiel,

x = float("%.1g" % 1324)
print(x)

Ausgabe:

1000.0

Verwenden Sie das Modul sigfig, um eine Zahl in Python auf die gegebene signifikante Ziffer zu runden

Das Modul sigfig eignet sich am besten zum Runden der Zahlen auf eine signifikante Ziffer, da es den Aufwand beim Erstellen einer benutzerdefinierten Funktion minimiert und den Code vereinfacht.

Wir können die Anzahl der signifikanten Stellen in der Funktion round() dieses Moduls angeben.

Siehe das folgende Beispiel.

from sigfig import round

print(round(1324, sigfigs=1))

Ausgabe:

1000