关于计算机vb的题目~~请帮忙解决下!!谢谢!!

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:40:44
“fab346c247d36af2”求里面数字的和??怎么做啊?

Private Sub Command1_Click()
Dim i As Long
Dim count As Long
Dim str As String
str = "fab346c247d36af2"
For i = 0 To Len(str)
If IsNumeric(Mid(str, i + 1, 1)) Then
count = count + CLng(Mid(str, i + 1, 1))
End If
Next
MsgBox count
End Sub
结果为37

这个程序的重点是将数据从字符串中分离出来。可以写一函数finnum(body$, k%, ebody$), 从字符串第一个字符开始判断是否为数字(判断是否为数字可用IsNumeric()函数),如果连续几个都为数字,则应视为一个数字(如“fab346c...”中的“346”),所以findnum()应采用递归算法。然后将数字放入一个字符串ebody中并用“,”分开,然后用SPLIT()函数分开到一数组中,然后数组中的数据相加就OK了

下面是代码
Option Explicit
Dim nbody$, keep$, a, sum%
Private Sub Form_DblClick()
Dim i%, j%, datain$
datain = InputBox("请输入要操作的数据:", "参数输入", "fab346c247d36af2")
Print "要操作的数据:" & datain
Call finnum(datain, 1, nbody)
a = Split(nbody, ",")
Print "数据筛选:"
For i = 0 To UBound(a) - 1
Print a(i); ",";