第1.34例 Round函数
一、题目:
要求编写一段代码,使用 Round 函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。
二、代码:
Sub 示例_1_034()
Dim Zdz
Zdz = Round(5.235, 2) '返回5.24
Zdz = Round(5.225, 2) '返回5.22
Zdz = Round(2.5) '返回2
Zdz = Round(2.6) '返回3
End Sub
三、代码详解
1、Sub 示例_1_034():宏程序的开始语句。宏名为示例_1_034。
2、Dim Zdz! :声明变量Zdz为单精度浮点型变量。!是单精度浮点型的类型声明字符,其它类型声明字符请见第1_024例。
3、Zdz = Round(5.235, 2) :把指定数值5.235运用Round 函数按照小数点后面2位进行四舍五入运算的结果赋给变量Zdz,返回5.24。
4、Zdz = Round(5.225, 2) :把指定数值5.225运用Round 函数按照小数点后面2位进行四舍五入运算的结果赋给变量Zdz,返回5.22。请大家注意:这里的答案不准确!与我们运用工作表Round函数运算的结果不一样。其原因是VBA的Round 函数采用的是Banker舍入法,而不是算术舍入。按照Banker舍入规则,如果保留位数的下一位数字正好是5且其后没有其它的有效数字,则依保留位最后一位“偶舍奇入”的方法进行处理。
所以应该用工作表函数来代替这个VBA函数:即用 Application.Round(2.5)来代替Round(2.5)。
Round函数
返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。
Round(expression [,numdecimalplaces])
Round函数有如下的参数:
expression 必需的。要进行四舍五入运算的数值表达式。
numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。