Top > Programming > CommonTips > EasyRoundOff
Last-modified: Sat, 23 Feb 2013 20:13:29 HADT
Counter:3122 Today:2 Yesterday:0 Online:8
このエントリーをはてなブックマークに追加

簡単な四捨五入の方法

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);