標題:
[發問]
請教VBA比較運算子的定義
[打印本頁]
作者:
jsleee
時間:
2014-2-9 11:08
標題:
請教VBA比較運算子的定義
各位先進好
請教一個關於VBA比較運算子的問題(如下的判斷式)
在程式碼中判斷結果,x=1?
但這個結果與實際認知有所出入,是因為定義的問題嗎?還是有其他問題?
因個人對於VBA是自行摸索運用,可能有很多基本程式觀念都不清楚,所以請教先進們
再麻煩抽空解惑,感恩
JS
If 2.85 = 2.8 + 0.05 Then
x = 0
ElseIf 2.85 > 2.8 + 0.05 Then
x = 1
End If
作者:
owen06
時間:
2014-2-9 15:54
回復
1#
jsleee
http://forum.twbts.com/viewthrea ... amp;page=1#pid62025
這篇下面有版主大大提到是浮點運算的BUG,用ROUND()去除
這樣子就可以了
Sub test()
If 2.85 = Round(2.8 + 0.05, 2) Then
[a1] = 0
ElseIf 2.85 > Round(2.8 + 0.05, 2) Then
[a1] = 1
End If
End Sub
複製代碼
作者:
stillfish00
時間:
2014-2-9 16:28
回復
1#
jsleee
浮點算術可能會在 Excel 中造成不正確的計算結果
可轉為decimal再比較
If CDec(2.85) = CDec(2.8 + 0.05) Then
x = 0
ElseIf CDec(2.85) > CDec(2.8 + 0.05) Then
x = 1
End If
複製代碼
作者:
jsleee
時間:
2014-2-9 19:45
回復
2#
owen06
謝謝 OWEN06 先進的指導
作者:
jsleee
時間:
2014-2-9 19:46
回復
3#
stillfish00
謝謝 stillfish00 先進的指導
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)