Отвечает: Коровин Александр
Здравствуйте, Кочеткова Анастасия! Предлагаю Вам преобразовать переменную с числом в строковое значение, а затем сравнить его посимвольно с строкой "3".
Dim Chislo ' Исследуемое число Dim strChislo ' Число, преобразованное в строку Dim KolSimv ' Количество символов в строке Dim Kol_3 ' Количество цифр 3
Kol_3=0 strChislo=CStr(Chislo) KolSimv=Len(strChislo) For i=1 To kolSimv If Mid(strChislo,i,1)="3" Then Kol_3=Kol_3+1
End If Next strMessege="Количество цифр 3 в числе "+strChislo+" равно "+CStr(Kol_3) MsgBox strMessege
Ответ отправил: Коровин Александр (статус: 5-й класс)
Ответ отправлен: 13.11.2008, 08:33
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 235342 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: megaloman
Здравствуйте, Кочеткова Анастасия! Предлагаю еще один вариант решения (в приложении) Вашей задачи без преобразования исходного числа в строку. Так как рассылка VBA, то и проверял работу в VBA Excel Ввод исходного числа и выво результата не написал - Вы не указали, для какой версии Basic ставится задача
Приложение:
--------- Нет времени на медленные танцы
Ответ отправил: megaloman (статус: Практикант)
Ответ отправлен: 13.11.2008, 11:27
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 235371 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: PsySex
Здравствуйте, Кочеткова Анастасия! Если среда разработки VB6 то решение в 1 строчку:-)
Код:
Dim nNum As Long nNum = 135337333 MsgBox UBound(Split(Str(nNum), "3"))
--------- Bom Shankar!
Ответ отправил: PsySex (статус: Специалист)
Ответ отправлен: 13.11.2008, 12:44
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 235378 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Кочеткова Анастасия! Прдлагаю для обозрения и свой вариант:
Код:
Function countSymbol(s$, sSymb$) As Integer Do While InStr(s, sSymb) > 0 countSymbol = countSymbol + 1 s = Replace(s, sSymb, Empty, InStr(s, sSymb), 1) Loop End Function Sub start()
MsgBox countSymbol(234133333, 3) End Sub
хотя после ответа PsySex( ), он очень громоздкий. Евгений.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.