Arrondir aux chiffres significatifs en Python
-
Utilisez la fonction
round()
pour arrondir un nombre au chiffre significatif donné en Python -
Utilisez le module
math
pour arrondir un nombre au chiffre significatif donné en Python - Utiliser la mise en forme de chaîne pour arrondir un nombre au chiffre significatif donné en Python
-
Utilisez le module
sigfig
pour arrondir un nombre au chiffre significatif donné en Python
Arrondir le nombre signifie remplacer un nombre par une valeur approximative qui s’en rapproche. Nous pouvons également arrondir les nombres au chiffre significatif requis.
Dans cet article, nous arrondirons un nombre à un chiffre significatif spécifique en Python.
Utilisez la fonction round()
pour arrondir un nombre au chiffre significatif donné en Python
La fonction round()
arrondit les valeurs flottantes données à l’entier le plus proche ou à la position décimale spécifiée.
Nous pouvons utiliser un nombre négatif pour arrondir l’entier à la valeur plancher significative en l’affectant à la fonction round()
. Ce nombre négatif à préciser dépend des chiffres significatifs requis.
Par exemple, si nous souhaitons arrondir à un chiffre significatif, nous spécifions la valeur (1-total chiffres) dans la fonction round()
.
Voir le code suivant.
x = round(1342, -3)
print(x)
Production:
1000
Utilisez le module math
pour arrondir un nombre au chiffre significatif donné en Python
Cette méthode est une amélioration par rapport à la fonction discutée précédemment. Nous pouvons créer une fonction simple définie par l’utilisateur pour rendre cela plus pratique. Nous n’aurons pas à spécifier le nombre négatif dans la fonction round()
de cette méthode. Nous allons remplacer cela en utilisant une combinaison de la fonction math.floor()
et de la fonction math.log10()
.
Voir le code ci-dessous.
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))
Production:
1000
Utiliser la mise en forme de chaîne pour arrondir un nombre au chiffre significatif donné en Python
En Python, le spécificateur %g
dans la chaîne formate un flottant arrondi à un chiffre significatif spécifié. Si la magnitude du nombre final est énorme, alors il l’affiche en notation scientifique.
Cette méthode renvoie une chaîne. Nous devons donc reconvertir le numéro de chaîne en une valeur flottante ou entière après l’avoir formaté.
Par exemple,
x = float("%.1g" % 1324)
print(x)
Production:
1000.0
Utilisez le module sigfig
pour arrondir un nombre au chiffre significatif donné en Python
Le module sigfig
est le mieux adapté pour arrondir les nombres à un chiffre significatif car il minimise les tracas liés à la création d’une fonction définie par l’utilisateur et simplifie le code.
On peut spécifier le nombre de chiffres significatifs dans la fonction round()
de ce module.
Voir l’exemple suivant.
from sigfig import round
print(round(1324, sigfigs=1))
Production:
1000