「Pythonで整数を割り算したときに小数を切り捨てない方法」の版間の差分

提供: Python入門
移動: 案内検索
(ページの作成:「Python は、整数を割り算したときに、デフォルトでは、小数を切り捨ててしまいます。確率の計算などをするときに、 0 が出て...」)
 
(相違点なし)

2018年4月1日 (日) 23:52時点における最新版

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)

関連項目