3

私はちょうど今、Python の基礎を学んでいるところで、学習演習として、数字 "e" に近似するものを書いてみようと思いました。とにかく、それは常に小数点以下 11 桁までの答えを与えます。どうすればいいですか?

4

3 に答える 3

4

それらを「より正確」にする必要がありますか?それとも、Python がデフォルトで表示するよりも多くの数字を表示する必要がありますか?

>>> import math
>>> math.pi
3.141592653589793
>>>
>>> '{0:0.2f}'.format(math.pi)
'3.14'
>>>
>>> '{0:0.30f}'.format(math.pi)
'3.141592653589793115997963468544'
>>>
>>> '{0:0.60f}'.format(math.pi)
'3.141592653589793115997963468544185161590576171875000000000000'

ただし、

浮動小数点数は通常、C では double を使用して実装されます。プログラムが実行されているマシンの浮動小数点数の精度と内部表現に関する情報は、sys.float_info

48 桁を超えると pi がゼロにならないことを保証します :-)

于 2013-10-23T06:57:06.720 に答える
1

1000 桁の精度の数値にしたい場合、短い答えはできません..

回避策として、decimalモジュールを使用できます。次に例を示します。

import decimal
a = decimal.Decimal('2387324895172987120570935712093570921579217509185712093')

ただし、この場合、a はもはや数値ではありません。decimal.Decimalクラスの単なるインスタンスです。まあ、あなたはまだそれを使っていくつかの数学演算を行うことができます.

于 2013-10-23T07:02:58.797 に答える