作者yangchihwei (yangchihwei)
看板Visual_Basic
标题Re: [VBA ] 小数的mod问题?
时间Tue Jan 13 13:47:52 2009
※ 引述《mindscold (********)》之铭言:
: 请问一下,为什麽38.5 mod 8.5 = 6
: 看MSDN是写 A mod B = A - (B * (A \ B))
: 这样来算的话,38.5 mod 8.5 = 38.5 - (8.5 * (38.5 \ 8.5))
: = 38.5 - (8.5 * 4)
: = 38.5 - 34
: = 4.5 ←???
: 理论值跟实际在vba中键入 38.5 mod 8.5得到的值不一致耶?
: 为什麽呢?请大家代为解惑,谢谢
Dim a, c, d As Integer
Dim b, g, f As Single
c = 38.5
d = 8.5
g = 38.5
f = 8.5
a = c Mod d
b = g Mod f
此时执行结果:
a = 6
b = 4.5
Mod 不是只能处理整数值而已,而是您的变数型态设定问题,
如上定义数值的变数型态,变能解决问题.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.82.134.197
1F:推 fumizuki:你这个是vb.net 的执行结果 vba、vb6只能整数运算 01/13 21:06
2F:→ yangchihwei:原来如此.那小弟比幸运得使用了接近理论与实际的语言. 01/14 06:57