Maison >développement back-end >Tutoriel Python >Comment supprimer les zéros de fin dans la notation scientifique à l'aide du module décimal de Python ?
Lorsque vous travaillez avec des nombres décimaux, il peut être utile de les afficher en notation scientifique, où un nombre est représenté comme une valeur décimale multipliée par une puissance de 10. Cela peut aider à afficher des nombres grands ou petits dans un format plus compact et plus lisible.
Un défi courant consiste à supprimer les zéros inutiles dans la représentation en notation scientifique. Voici comment y parvenir en Python à l'aide du module Decimal :
from decimal import Decimal '%.2E' % Decimal('40800000000.00000000000000') # returns '4.08E+10'
Dans l'exemple, nous spécifions explicitement une précision de 2 décimales en utilisant %.2E, garantissant que les zéros de fin sont supprimés.
Pour plus de contrôle sur le formatage, vous pouvez utiliser une fonction personnalisée pour supprimer les zéros de fin :
def format_e(n): a = '%E' % n return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1] format_e(Decimal('40800000000.00000000000000')) # '4.08E+10' format_e(Decimal('40000000000.00000000000000')) # '4E+10' format_e(Decimal('40812300000.00000000000000')) # '4.08123E+10'
Cette fonction supprime tous les zéros de fin, qu'ils soient significatifs ou non. Il divise d'abord la représentation en notation scientifique en composants décimaux et exposants, supprime les zéros et le point décimal du composant décimal, puis réassemble la chaîne formatée.
Maintenant, vous pouvez facilement afficher les décimales en notation scientifique avec le précision et formatage souhaités, garantissant une gestion correcte des zéros à droite.
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!