四捨五入 【rounding】
概要
四捨五入(rounding)とは、長い桁の数から、短い桁の概数を求める方法の一つで、求める桁のひとつ下の桁が5以上なら切り上げ、4以下なら切り捨てること。ある桁数の数値について、上位側から特定の桁数だけ残し、下位側の残りの桁をすべて「0」にした数値を、元の数に概ね近い数という意味で概数という。英語では “round number” と呼ぶため、IT分野では概数を求める処理を「丸める」と表現することもある。
単純に求める桁の次の桁からすべて「0」で埋める方法を「切り捨て」、捨てる桁がすべて0でない限り、求める桁の末尾を1加算してから0で埋める方法を「切り上げ」という。両者を組み合わせ、次の桁が「5」以上なら切り上げ、「4」以下なら切り捨てる方法を四捨五入という。
プログラミングにおける四捨五入
多くのプログラミング言語には、実数(浮動小数点数)の小数部分を丸めて整数の概数を求める関数やメソッドなどが言語仕様や標準ライブラリなどの形であらかじめ用意されている。任意の桁数で丸めたい場合には「10n倍してから丸めて10-n倍する」という手法で求めることができる。
C言語やC++言語では標準ライブラリ(math.h)にround関数(四捨五入)、ceil関数(切り上げ)、floor関数(切り捨て)の3つが用意されており、これを用いる。JavaやJavaScriptもこの関数名を踏襲して、Mathクラス/オブジェクトにMath.round、Math.ceil、Math.floorが用意されている。
Microsoft Excelの関数では、ROUND関数(四捨五入)、ROUNDUP関数(切り上げ)、ROUNDDOWN関数(切り下げ)が用意されており、VBAでも同じようにRound関数、RoundUp関数、RoundDown関数が用意されている。
(2023.6.13更新)