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
小技だけど、結構重宝するので備忘録。
- 作者: 柴田淳
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/22
- メディア: 単行本
- 購入: 11人 クリック: 624回
- この商品を含むブログ (180件) を見る