Pythonで整数を割り算したときに小数を切り捨てない方法
提供: Python入門
2018年4月1日 (日) 23:52時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「Python は、整数を割り算したときに、デフォルトでは、小数を切り捨ててしまいます。確率の計算などをするときに、 0 が出て...」)
スポンサーリンク
Python は、整数を割り算したときに、デフォルトでは、小数を切り捨ててしまいます。確率の計算などをするときに、 0 が出てきて、びっくりするかもしれません。小数を扱う計算方法をまとめました。
読み方
- float
- ふろーと
概要
Python は、整数を割り算したときに、デフォルトでは小数を切り捨ててしまいます。 たとえば、このようになります。
>>> 5/10 0
たとえば、このときに、0.5 が求めたかったわけです。
割合を求めたいときに、50% が出ると思っても、小数が切り捨てられて、0になってしまいます。
>>> 5/10*100 0
解決方法
整数同士を計算すると、小数が切り捨てられてしまいます。
解決方法として、どちらか片方を float にしてしまう方法があります。
>>> float(5)/10 0.5 >>> 5/float(10) 0.5
両方とも float にしてももちろん問題ありません。
>>> float(5)/float(10) 0.5
割合もこの通り大丈夫です。
>>> float(5)/float(10)*100 50.0
まとめ
- 整数同士の割り算は、小数が切り捨てられてしまう
- floatを使うことで、小数が切り捨てられなくなる
result = float(x) / float(y)
関連項目
ツイート
スポンサーリンク