Преобразование строки - VB (60689)
Формулировка задачи:
Есть ли какая нибудь стандартная ф-ия чтоб:
из строки : "1роии(.ыа7щ+*/99" получилась строка "1799"
Решение задачи: «Преобразование строки»
textual
Листинг программы
'Option Explicit Private Declare Function GetTickCount Lib "kernel32" () As Long Const max As Long = 10000000 Sub main() Dim st As String, n&, Ts& st = String$(max, " ") For n = 1 To max Mid$(st, n) = Chr$(Int(Rnd * 256)) Next Ts = GetTickCount() OnlyNum_v1 st Debug.Print GetTickCount() - Ts Ts = GetTickCount() OnlyNum_v2 st Debug.Print GetTickCount() - Ts End Sub Function OnlyNum_v1$(s$) Dim b() As Byte, i&, n&, nums$ nums = String$(Len(s), " ") b() = s For i = 0 To UBound(b) Step 2 If b(i) > 47 And b(i) < 58 Then n = n + 1 Mid$(nums, n) = Chr$(b(i)) 'Mid$(s, i \ 2 + 1, 1) End If Next OnlyNum_v1 = Mid$(nums, 1, n) End Function Function OnlyNum_v2$(s$) Dim b() As Byte, i&, n&, nums$ nums = String$(Len(s), " ") b() = s For i = 0 To UBound(b) Step 2 If b(i) > 47 And b(i) < 58 Then n = n + 1 Mid$(nums, n) = Mid$(s, i \ 2 + 1, 1) End If Next OnlyNum_v2 = Mid$(nums, 1, n) End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д