簡単な四捨五入の方法
About
四捨五入は頻繁に利用するプログラムの一つでしょう。単純に浮動小数点数(float,double)を整数(int)にキャストするだけでは、ほとんどの言語・環境下で小数部はいかなる場合にも切り捨てられます。良くROUND関数が提供されている場合がありますが、キャストの際には、利用しなくても簡単なロジックで四捨五入できるので、メモしておきます。
How to
浮動小数点数に0.5足してからキャストします。例えば0.333という値であった場合には、0.833となりキャストの時に切り捨てられます。次いで0.511という場合を例にとると、1.011となるのでキャストの時に小数点以下の011が切り捨てられ1となります。四捨五入のためだけにMath関数などに参照を通さなければならないとき、使い慣れていない環境下で四捨五入の必要があるとき、使えるかもしれませんね。
float a = 0.4999; int b = (int)(a + 0.5);