vb 关于重复个数

来源:百度知道 编辑:UC知道 时间:2024/05/22 07:08:12
如dd=345
cc=5678
求f=? f=(dd当中有几个和cc重复的)
如上例f=1,因为就有1个5重复
又如dd=555
cc=5678
那么f应该等于3,3个5重复了
该怎么写
能否写成类似于这样的
Function fr(ByVal v As Long) As Long
Dim l As Long
While v > 0
l = v Mod 10
v = v \ 10
Select Case l
Case 1, 4, 7,0,8
fr = fr + l
End Select
Wend
End Function
如现在是h=578,等于上面问题的dd
然后,我在其他地方调用的时候可以直接用f=fr(h),这个f就是重复次数,这个比较会用很多次,总不能用一次写一次啊,那样太麻烦,所以还是单独写一个通用的比较好,然后在其他地方直接调用就可以了,

当然可以,定义成函数就行。
private function f(byval dd as string,byval cc As String) as integer
Dim i As Integer, j As Integer
For i = 1 To Len(dd)
For j = 1 To Len(cc)
If Mid(cc, j, 1) = Mid(dd, i, 1) Then f = f + 1
Next j
Next i
end function

private sub command1_click()
print f("34555","567")
end sub

Private Sub Command1_Click()
a = 345
b = 55678
For i = 1 To 3
For j = 1 To 4
If Mid(a, i, 1) = Mid(b, j, 1) Then x = x + 1
Next j
Next i
Print x
End Sub

Private Sub Command1_Click()
dim a,b as string
a = text1.text
b = text2.text
For i = 1 To len(a)
For j = 1 To len(b)
If Mid(a, i, 1) = Mid(b, j, 1) Then x = x + 1
Next j
Next i
Print x
End Sub