Pythonで整数を割り算すると、デフォルトでは小数点以下が切り捨てになる問題の解決方法

Pythonで整数や、整数が入っている変数を割り算(除算)すると、小数点以下が切り捨てになる。

>>> 12/26
0

このような感じ。

これを解決する場合、2つの簡単な方法がある。





float定義をする。

割られる方または割る方にfloatと指定しておく。

>>> float(12)/26
0.46153846153846156

となり小数点以下も切り下げにならずに済む。

1.0をかけておく。

割られる方または割る方に1.0をかけておく。

主旨はfloat定義と同じだけど、あらかじめ1.0をかけておくことによって、
これは小数点以下の割り算の可能性があると指定しておく。

>>> 12*1.0/26
0.46153846153846156


小技だけど、結構重宝するので備忘録。


みんなのPython

みんなのPython