Python の Decimal モジュールを使用して科学表記法で末尾のゼロを削除する方法

Barbara Streisand
リリース: 2024-11-07 14:45:03
オリジナル
220 人が閲覧しました

How to Remove Trailing Zeros in Scientific Notation Using Python's Decimal Module?

科学表記法による小数の書式設定

10 進数を扱う場合、数値を 10 進数値の乗算として表す科学表記法で表示すると便利です。これは、大きい数値または小さい数値をよりコンパクトで読みやすい形式で表示するのに役立ちます。

一般的な課題の 1 つは、科学表記法での不要な末尾のゼロを削除することです。 Decimal モジュールを使用して Python でこれを実現する方法は次のとおりです。

from decimal import Decimal

'%.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]

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'
ログイン後にコピー

この関数は、重要かどうかに関係なく、末尾のゼロをすべて削除します。まず科学表記法表現を小数点と指数コンポーネントに分割し、小数点コンポーネントからゼロと小数点を取り除き、次に書式設定された文字列を再組み立てします。

これで、次のコマンドを使用して小数点を科学表記法で簡単に表示できるようになります。必要な精度と書式設定を行い、末尾のゼロが適切に処理されるようにします。

以上がPython の Decimal モジュールを使用して科学表記法で末尾のゼロを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート