小数部を四捨五入するためには 0.5 を足して小数部を切り捨てます。
float number1 = 123.456; int result1 = static_cast<int>(number1 + 0.5f); // 123 float number2 = 1234.56; int result2 = static_cast<int>(number2 + 0.5f); // 1235
C/C++ で四捨五入ってどうやればいいのかわからなかったので載せてみました。もしかしたら標準関数にあるかもしれません(もしくはベンダ拡張とか)。
ちなみにこれをやるときは固定小数点を使った方が良いと思います。
Contributions