Top > Programming > CommonTips > EasyRoundOff
Last-modified: Sun, 24 Feb 2013 14:13:29 JST
Counter:2656 Today:3 Yesterday:2 Online:12
このエントリーをはてなブックマークに追加

簡単な四捨五入の方法

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