格式是这样:0000000000
比方说
满足1条件第一个变成1然后是1000000000
满足2条件第一个变成1然后是0100000000
.
.
.
满足10条件第一个变成1然后是0100000001满足第2 3 9个条件是 0110000010
但是因为数值型用加的办法不能实现
文本类型又会变成叠加
比方说
满足1条件第一个变成1然后是1000000000
满足2条件第一个变成1然后是0100000000
.
.
.
满足10条件第一个变成1然后是0100000001满足第2 3 9个条件是 0110000010
但是因为数值型用加的办法不能实现
文本类型又会变成叠加
Dim s As String
Dim b(1 To 10) As Boolean
s = "0000000000"
b(2) = True
b(3) = True
b(9) = True
Dim i As Integer
For i = 1 To 10
If b(i) Then Mid(s, i, 1) = "1"
Next i
MsgBox s
End Sub
不过没明白你说的满足条件10是什么意思
Private Const a1 = 1 ' 1
Private Const a2 = 2 ' 10
Private Const a3 = 4 ' 100
Private Const a4 = 8 ' 1000
Private Const a5 = 16 ' 10000
Private Const a6 = 32 ' 100000
Private Const a7 = 64 ' 1000000
Private Const a8 = 128 ' 10000000
Private Const a9 = 256 ' 100000000
Private Const aa = 512 ' 1000000000
Private Const ab = 1024 ' 10000000000
Private Const ac = 2048 ' 100000000000当然还可以继续定义到16位,后面的值是二进制表示的。要设置某位的值可以使用or运算符,如:a1 or a3
如果要得到某位的值可以使用and运算符,如:value and a3
Dim s As String
Dim b(1 To 10) As Boolean
Dim i As Integer b(2) = True
b(3) = True
b(9) = True For i = 1 To 10
s = s & IIf(b(i), "1", "0")
Next i
MsgBox s
End Sub
Dim s As String
Dim b(1 To 10) As Boolean
Dim i As Integer b(2) = True
b(3) = True
b(9) = True For i = 1 To 10
s = s & IIf(b(i), "1", "0")
Next i
MsgBox s
End Sub
文本类型又会变成叠加
==================
数值相加后用format格式化一下就可以了
比如你239相加后是:
n=110000010
然后:
s=format(n,"0000000000")
n = 10msgbox format(n,"0000000")