作者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
推 fumizuki:你這個是vb.net 的執行結果 vba、vb6只能整數運算 01/13 21:06
→ yangchihwei:原來如此.那小弟比幸運得使用了接近理論與實際的語言. 01/14 06:57