ホームページ >バックエンド開発 >Python チュートリアル >後続ゼロなしで科学表記法で大きな小数を表示するにはどうすればよいですか?

後続ゼロなしで科学表記法で大きな小数を表示するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-06 11:43:02176ブラウズ

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

小数の科学表記

大きな小数を科学表記で表示するのは、特に末尾にゼロがある場合に注意が必要です。その方法は次のとおりです。

10 進数と '%.2E' を使用する

from decimal import Decimal

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

%.2E を指定することで、出力を小数点以下 2 桁に制限します。余分なゼロを効果的に削除します。

末尾のゼロを自動的に削除する

すべての末尾のゼロを削除したい場合は、次のカスタム関数を使用できます:

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

この関数:

  • 'E' を使用して科学表記文字列を仮数部と指数に分割します。
  • 仮数部から末尾のゼロと小数点を削除します。
  • 変更された仮数を使用して科学表記文字列を再構築します。

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

このアプローチでは、末尾のゼロが自動的に処理され、科学表記が簡潔になります。大きな小数も含みます。

以上が後続ゼロなしで科学表記法で大きな小数を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。