1032446692 发表于 2013-3-30 13:37
正如6楼所举得例子
如果是四舍五入,之后在取余,15.5 mod 4 =0 是正确的 但是 如果这样 14.5 mod 4 应 ...
好吧,最后还是试了下。你可以用下面代码试下,结果是0.5的四舍五入的结果是0。
Sub test()
Dim i As Double
For i = 10.1 To 16 Step 0.1
Debug.Print i & " mod 4 :"; i Mod 4
Cells(i * 10 / 1 - 100, 1) = i & " mod 4"
Cells(i * 10 / 1 - 100, 2) = i Mod 4
Next i
End Sub
下面是上面代码产生结果的一部分
14 mod 4 : 2
14.1 mod 4 : 2
14.2 mod 4 : 2
14.3 mod 4 : 2
14.4 mod 4 : 2
14.5 mod 4 : 2
14.6 mod 4 : 3
14.7 mod 4 : 3
14.8 mod 4 : 3
14.9 mod 4 : 3
15 mod 4 : 3
15.1 mod 4 : 3
15.2 mod 4 : 3
15.3 mod 4 : 3
15.4 mod 4 : 3
15.5 mod 4 : 3
15.6 mod 4 : 0
15.7 mod 4 : 0
15.8 mod 4 : 0
15.9 mod 4 : 0
16 mod 4 : 0