0
私の浮動小数点の精度を制限し、次の演算のための正確な値として使用したいと思いますが、小数点以下のモジュールで何か問題があります。Pythonの小数精度と丸め
from decimal import *
factor = 350/float(255)
# Settings
getcontext().prec = 1
getcontext().rounding = ROUND_UP
print Decimal(factor)
Pythonの出力: 1.372549019607843145962533526471816003322601318359375
期待と望んでいた結果は:1.4 Pythonドキュメントから
は 'np.round'を使用します。 – Julien
'Decimal'オブジェクトを作成するだけでは、現在のコンテキストに丸められません。そのためには、トリックがあります: '+ Decimal(factor)'のように単項プラスを適用できます。これを言っても、これはあなたが望むことをやっていないでしょう: '' prec''は、ポイントの後ろの場所の数ではなく、有効数字の総数を指します。この場合、 'prec = 2'が必要です。 –
'Decimal.quantize'メソッドを調べることもできます。 –