この記事では、Python で正確な 10 進数の計算を行う方法を学びます。
10 進数モジュールの Decimal() 関数の使用
数学モジュールの fsum() 関数を使用します
浮動小数点数がすべての 10 進数を正確に表現できないことはよく知られた欠点です。さらに、単純な数学的計算でも多少の誤差が生じる可能性があります。たとえば、-
###例###上記のプログラムを実行すると、次の出力が生成されます -
リーリーを使用すると、パフォーマンスが多少犠牲になりますが、精度が向上します。以下で見てみましょう。
方法 1: 10 進数モジュールの Decimal() 関数を使用する ###例### 次のプログラムは、Decimal() 関数を使用して正確な 10 進数を計算する例を示しています。 リーリー ###出力###
上記のプログラムを実行すると、次の出力が生成されます -decmal
の重要な機能です。リーリー ###出力###
上記のプログラムを実行すると、次の出力が生成されます -リーリー
精度を向上させるには、精度の値を「60」に増やします###例### リーリー ###出力### 上記のプログラムを実行すると、次の出力が生成されます - リーリー
方法 2: 数学モジュールの fsum() 関数を使用する言うまでもなく、この記事の範囲を超えたカスタマイズ オプションが多数あります。
たとえば、実世界では、浮動小数点数によって提供される
ただし、間違いを完全に避けることはできません。多くのアルゴリズムは数学者によって広く研究されており、一部のアルゴリズムは他のアルゴリズムよりもエラーの処理に優れています。さらに、キャンセルの減算や大小の数値の加算を行うと結果が生じる可能性があるため、注意が必要です。
リーリー ###出力###fsum() 関数は、指定された範囲または反復可能なオブジェクト間の合計を見つけるために使用されます。数学ライブラリをインポートする必要があります。数学的な計算で広く使用されています。
###文法###以下は関数の構文です。
リーリー反復可能なオブジェクトは範囲、配列、またはリストです。
戻り値の型 - 浮動小数点数を返します。 ###例### 次の例は、
math.fsum()上記のプログラムを実行すると、次の出力が生成されます -
リーリーそれでも、金融などのトピックを扱うプログラムでは、10 進数モジュールが最もよく使用されます。これらのシステムの計算に小さな誤差が現れると、非常に不快なものになります。
したがって、10 進数モジュールは、この状況を回避する方法を提供します。 Python がデータベースと対話するとき、特に財務データにアクセスするときに、Decimal オブジェクトが再び発生することがよくあります。
###結論は###以上がPython を使用して正確な 10 進数の計算を行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。