Comment arrondir des nombres à virgule flottante à un chiffre significatif en Python ?

DDD
Libérer: 2024-11-16 08:57:03
original
403 Les gens l'ont consulté

How to Round Floating-Point Numbers to One Significant Figure in Python?

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

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

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

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal