10.0Fという10のようなそれで割る

某氏はゲームするためにPCほしいと。そりゃそうですよ。
リビングでゲームとは困りますね。だからひぐらしが極限という。
氏が言うには「兄弟ならそういうのもありだが、兄妹では困る、親なんて例外なしにだめ」
…確かに、妹か…理解がいいわけもない。
さて、今日は部活で頼まれたプログラムを書いていました。
そこで問題があった…
int c = int.Ceiling((a – b + 1) / 10);
の一文が問題だった。なんか切り上げなのに切り上げられない。
で、いろいろ調べると理由は…
(a – b + 1) / 10 の答えがすでに切り捨てられた整数になってたから。
さて、では10で割るのでなく10.0で割ろう…いやこれもだめだ。
まぁ要は10という数字を小数と認識させれば勝ちです。
まぁいろいろ手はありそうだけどスマートな…
(a – b + 1) / 10.0F
さて、この10.0FのFは何かというとFloatのF、Floatといえば単精度浮動小数点数型ですけど…
ほかにDecimalとかいう型でも同様の方法で2.3mとかいう書き方をするそうだが…
これが何の役に立つって、こういうときですね。
確実に型を指定したいとき。
しかしint / int がintで返ってくるっておせっかいでもあるよな。
10/2とかなら5で返ってくるとうれしい気もするが、今回は困る。
というかこっちならintに代入するにせよ(int)10 / 2とか書けばintに直せますから。
こうやってCastできるんですよ。よく使います。
型に悩まされることはよくありますからね。そこまでできれば強いぞ。