Arrondir des nombres à des chiffres significatifs en Python
Lors de l'affichage de nombres à virgule flottante dans une interface utilisateur, vous devez souvent les arrondir à un nombre précis de chiffres significatifs. Python offre un moyen pratique d'y parvenir en utilisant des nombres négatifs.
Pour les entiers, vous pouvez utiliser l'arrondi négatif pour spécifier le nombre de décimales :
>>> round(1234, -3) 1000.0
Pour étendre cette approche à l'arrondi d'un float à un chiffre significatif, vous pouvez utiliser la fonction suivante :
from math import log10, floor def round_to_1(x): return round(x, -int(floor(log10(abs(x)))))
Cette fonction calcule le nombre de décimales à arrondir en fonction de la valeur absolue de le nombre et renvoie la valeur arrondie.
Voici quelques exemples de son fonctionnement :
>>> 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
Notez que pour les flottants supérieurs à 1, vous devrez peut-être les convertir en nombres entiers avant d'arrondir .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!