Maison >développement back-end >Tutoriel Python >Comment puis-je arrondir des nombres à virgule flottante à un nombre spécifique de chiffres significatifs en Python ?

Comment puis-je arrondir des nombres à virgule flottante à un nombre spécifique de chiffres significatifs en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-12 13:05:021005parcourir

How can I round floating-point numbers to a specific number of significant figures in Python?

Arrondir les nombres aux chiffres significatifs en Python

Lors de l'affichage de nombres à virgule flottante dans une interface utilisateur, il peut être souhaitable de les arrondir à un nombre spécifié de chiffres significatifs. Voici comment y parvenir à l'aide des fonctions intégrées et du code personnalisé de Python.

Utilisation d'exposants négatifs

Pour arrondir des entiers à des puissances spécifiques de 10, des exposants négatifs peuvent être utilisés . Par exemple, pour arrondir 1234 au millier le plus proche, vous pouvez utiliser :

round(1234, -3)

Cela donne 1000,0.

Fonction personnalisée pour l'arrondi

Pour arrondir les nombres à virgule flottante à un nombre spécifique de chiffres significatifs, une fonction personnalisée peut être définie. Le code suivant définit une fonction appelée round_to_1 qui arrondit un nombre à un chiffre significatif :

from math import log10, floor

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

Ici, la fonction log10 est utilisée pour déterminer l'ordre de grandeur de x. La partie exposant du résultat est arrondie à l'aide du plancher, et la négation de cette valeur est transmise à la fonction d'arrondi, arrondissant effectivement à cette puissance de 10.

Exemples d'utilisation

La fonction round_to_1 peut être utilisée pour arrondir les nombres comme suit :

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

Remarque :

Si le nombre arrondi est supérieur à 1, il peut doit être converti en un entier.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn