プログラミングで四則演算は容易にできますが、本記事は割り算と余り計算のちょっとした注意点についてです。
タイトルにもあるように、
割り算 | 小数点まで計算(割り切れるまで計算) |
余り計算 | 整数の範囲で計算(割り切れなくても計算終わり) |
上記のとおりです。
初歩的な内容かもしれないですが、つまづきやすいポイントなので解説します。
割り算と余り計算を比較してみる
PHPで【10 ÷ 4】という計算をしてみます。
割り算
10 / 4 // 2.5
割り算は小数点まで計算して、割り切れるまで計算をします。
【10 ÷ 4】を小数点まで計算するので、商は2.5という答えが得られます。
余り計算
10 % 4 // 2
余り計算は整数の範囲で計算して、割り切れなくても計算が終わります。
【10 ÷ 4】は整数の範囲では、商は2で余りが2という答えが得られます。
【補足】割り算の商から小数点以下を排除するには
割り算をして商は欲しいけど、小数点以下は要らない。
どうしたら良い?
上記ケースがたまにあります。
割り算の商から小数点以下を排除する方法は3つあります。
① 商を切り上げる
ceil(10 / 4) // 3
② 商を切り捨てる
floor(10 / 4) // 2
③ 商を四捨五入する
round(10 / 4) // 3
【10 ÷ 4】を整数の範囲で計算したように出力したい場合は、②のfloor()関数を使えば良いですね!
経験談
ある機能を実装しようとしていて、上手く書けているはずなのにどうしてもエラーが起きることがありました。
どこが間違えていたかと言うと、割り算の商は整数の範囲の答えだと勘違いしていたことでした。
そんなはず無いのに…。
初歩的な内容だからって確認を怠ると、足元をすくわれますね。