四捨五入 切り上げ 切り捨てを行う

Excel シート上でも使える四捨五入 切り上げ 切り捨てですが
VBA ではちょっと注意が必要です

l_ret = Round(0.5, 0)
四捨五入とは異なり 結果は 0 になってしまいます

VBA のヘルプにも書かれているが Round は四捨五入でなく丸め・・・
銀行式の丸めであるため 結果は四捨五入とはちょっと違います


数学式の四捨五入 切り上げ 切り捨てを行う場合 Excel.WorksheetFunction クラスのメソッドを利用します

・四捨五入

l_ret = Application.Round(0.5, 0)

・切り上げ

l_ret = Application.RoundUp(0.01, 1)

・切り捨て

l_ret = Application.RoundDown(19, -1)