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
Libérer: 2024-11-12 13:05:02
original
998 Les gens l'ont consulté

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)
Copier après la connexion

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)))))
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal