Помогите разобраться, только начала изучать1с. Не пойму, почему, если ставить точку в конце Строка, к примеру Строка = "123а21ф."; - система говорить, что это число, по отладчику смотрела, в коде падает в ложь, но все равно выдает, что это число.
Строка = "123а21ф";
ОбрезатьСимволы = СокрЛП(Строка);
ДлинаСтроки = СтрДлина(Строка);
ПроверяемСНомера = 1;
Для ПП=ПроверяемСНомера по ДлинаСтроки Цикл
ТекСимвол = Сред(Строка,ПП,1);
Если СтрНайти("0123456789.",ТекСимвол)= 0 Тогда
ТекСимвол= Ложь;
Иначе
ТекСимвол = Истина;
КонецЕсли;
КонецЦикла;
Если ТекСимвол = Ложь Тогда
Сообщить("" + Строка + "-" + " Числом не является");
Иначе
Сообщить("" + Строка + "-" + " Числом является");
КонецЕсли;
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Или так с точкой и третьим параметром, что бы пустые строки сразу отсеять Но нужна проверка того, что точка только одна в строке. Иначе 111.222.333.444 тоже число. :-)
ЭтоЧисло = СтрСоединить(СтрРазделить(Строка, "1234567890")) = "";
ЭтоЧисло = СтрСоединить(СтрРазделить(Строка, ".1234567890", ЛОЖЬ)) = "";
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот