web-dev-qa-db-ja.com

floatをx小数に丸めますか?

python floatをxの小数に丸める方法はありますか?例:

>>> x = roundfloat(66.66666666666, 4)
66.6667
>>>x = roundfloat(1.29578293, 6)
1.295783

私はそれらをトリミング/切り捨てる方法を見つけました(66.666666666-> 66.6666)が、丸くありません(66.666666666-> 66.6667)。

59
tkbx

組み込み関数round()を使用します。

_In [23]: round(66.66666666666,4)
Out[23]: 66.6667

In [24]: round(1.29578293,6)
Out[24]: 1.295783
_

round()のヘルプ:

round(number [、ndigits])->浮動小数点数

数値を指定された精度で10進数で丸めます(デフォルトは0桁)。これは常に浮動小数点数を返します。精度が負になる場合があります。

65