vb中 2.5 Mod 2 怎么算的啊

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:22:19
我看到上面说答案是1,怎么会的啊,谢谢,帮忙看下~

答案好像错了...结果应该为0
mod 只能整数与整数运算,,整数 mod 整数

2.5要四舍五入........你的答案.也许是正确的....2.5四舍五入后,结果为3
所以运行结果可能为1

mod 就是求余数的函数 如
1 mod 2=1
2 mod 2=0
4 mod 2=0
6 mod 2=0
8 mod 7=1
7 mod 8=7

不过.我也奇怪,为什么我的电脑运行结果为 msgbox 2.5 mod 2
对话框弹出 0

以下是我的电脑运行结果 VB6.0环境
2.4 mod 2 =0
2.5 mod 2 =0
2.6 mod 2 =1

mod运算,是针对两个整数,所以在计算2.5 Mod 2时,先会将2.5转换成整数,系统会用CInt或CLng来转换(根据数据的大小)

当小数部分恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值。例如,0.5 转换为 0、1.5 转换为 2
当小数部分不为0.5时,会四舍五入,如
2.51转换成3 \ 2.49转换成2

所以2.5在转换时,会转换成2,因此,结果是0

答案是0,因为mod强制转换2.5为整数2
2 mod 2=0
2.5四舍五入后,结果为2.
3.5四舍五入后,结果为4.
注意,vb四舍五入与平时所说的四舍五入不同。

答案是错的,Mod在VB中的作用是四舍六入五取双,不管你是2.5 mod 2还是1.5 mod 2或者是3.5 mod 2结果都为0,因为五取双这个特点,所以不管你mod的前面是几点5,后面是2的话结果都为0,如果要实现真正意义上的四舍五入的话应该用format函数

这就要说到“四舍六入五取双”
整除运算时,操作数是实数,先四舍六入五取双,取整后再除
像2.5mod 2
2.5取双就是2(3.5,取双就是4