Maison  >  Article  >  développement back-end  >  Comment afficher de grandes décimales en notation scientifique sans zéros à droite ?

Comment afficher de grandes décimales en notation scientifique sans zéros à droite ?

DDD
DDDoriginal
2024-11-06 11:43:02106parcourir

How to Display Large Decimals in Scientific Notation Without Trailing Zeros?

Notation scientifique pour les décimales

Afficher de grandes décimales en notation scientifique peut être délicat, surtout lorsqu'il y a des zéros à droite. Voici comment procéder :

En utilisant Decimal et '%.2E'

from decimal import Decimal

print('%.2E' % Decimal('40800000000.00000000000000'))  # returns '4.08E+10'

En spécifiant %.2E, nous limitons la sortie à deux décimales, supprimant efficacement les zéros supplémentaires.

Élimination automatique des zéros de fin

Si vous souhaitez éliminer tous les zéros de fin, vous pouvez utiliser cette fonction personnalisée :

def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

Cette fonction :

  • Divise la chaîne de notation scientifique en mantisse et exposant à l'aide de « E ».
  • Supprime les zéros de fin et le point décimal de la mantisse.
  • Reconstruit la chaîne de notation scientifique avec la mantisse modifiée.

Exemples

format_e(Decimal('40800000000.00000000000000'))  # '4.08E+10'
format_e(Decimal('40000000000.00000000000000'))  # '4E+10'
format_e(Decimal('40812300000.00000000000000'))  # '4.08123E+10'

Cette approche gère automatiquement les zéros à droite, garantissant une notation scientifique concise pour même les grandes décimales.

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