逻辑与的复合条件

函数返回值是数字,一个数字可能代表一个Case,也可以代表多个Case组合。返回值规则如下:

条件 十进制数 二进制数
Case1 1 1
Case2 2 10
Case3 4 100
Case4 8 1000
Case5 16 10000

返回值之所以参照二进制数规则递增,因为无论满足其中多少个条件,其相加总和都能保证唯一性。

'检查正数有效性
Dim i
i = fnCheck(iNum)
If Not i = 0 Then
	If (i And 1) = 1 Then
		'Null
	End If
	If (i And 2) = 2 Then
		'非数字(字符)
	End If
	If (i And 4) = 4 Then
		'负数
	End If
	If (i And 8) = 8 Then
		'零
	End If
End If


'判断数字是否为正数
'返回值:0-正常,1-Null,2-非数字(字符),4-负数,8-零
Function fnCheck(iNum)
	fnCheck = 0
	If IsNull(iNum) Then
		fnCheck = fnCheck + 1
	End If
	If Not IsNumeric(iNum) Then
		fnCheck = fnCheck + 2
	End If
	If iNum < 0 Then
		fnCheck = fnCheck + 4
	End If
	If iNum = 0 Then
		fnCheck = fnCheck + 8
	End If
End Function

  

posted @ 2015-06-23 23:10  平小宅  阅读(197)  评论(0编辑  收藏  举报