Книга знаний

1С:Предприятие / v8

v8: Безопасное преобразование строки в число

Типовая функция 1С вызывает исключение, если не может преобразовать строку в число. Моя функция возрващает в таком случае неопределено.Автор статьи: Гений 1С
Последняя редакция №1 от 24.04.07
URL: http://kb.mista.ru/article.php?id=515

Ключевые слова: число,строка,конвертация


Функция обВЧисло(С) Экспорт
    Перем Р, Симв;
    Р="";
    
    БылаТочка=ложь;
    БылЗнак=ложь;
    Для Инд=1 По СтрДлина(С) Цикл
        Симв=Сред(С, Инд,1);
        Если Симв=" " Тогда
            Продолжить;
        КонецЕсли;
        Если Симв="." ИЛИ Симв="," Тогда
            Если БылаТочка Тогда
                Возврат Неопределено;
            КонецЕсли;
            Р=Р+".";
            БылаТочка=истина;
            Продолжить;
        КонецЕсли;
        Если Симв="+" ИЛИ Симв="-" Тогда
            Если БылЗнак ИЛИ Р<>"" Тогда
                Возврат Неопределено;
            КонецЕсли;
            Р=Р+Симв;
            БылЗнак=истина;
            Продолжить;
        КонецЕсли;
        Если Найти("0123456789", Симв)=0 Тогда
            Возврат Неопределено;
        КонецЕсли;
        Р=Р+Симв;
    КонецЦикла;
    Если Р="" Тогда
        Возврат Неопределено;
    КонецЕсли;
            
    Возврат Число(Р);
КонецФункции

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика