К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Преобразование строки в число

Гость
0 - 25.09.2012 - 12:36
зн=Число(стр);
Если стр равно, например, "132", то все нормально.
А если, например, "132*", то имеем ошибку
"Преобразование значения к типу Число не может быть выполнено".
А мне бы надо, чтобы "132*" преобразовывалось в 0.
Как бы попроще сделать ?
(Посимвольный анализ строки на нечисловые символы очевиден, но неинтересен).



Гость
1 - 25.09.2012 - 12:45
попытка
зн=Число(стр);
исключение
зн=0;
конецпопытки
Гость
2 - 25.09.2012 - 12:49
1-angro >Так и сделал временно, но поморщился.
Гость
3 - 25.09.2012 - 13:05
Неявное преобразование, например, при записи значения в типизированный реквизит формы. Не?
Гость
4 - 25.09.2012 - 13:06
3-roma n >Не... Кошерно: ПривестиЗначение()
Гость
5 - 25.09.2012 - 14:01
4-roma n >Это, насколько я понимаю, для реквизита на форме.
А мне надо просто значение строкового реквизита преобразовать в числовое.
Гость
6 - 25.09.2012 - 14:05
4-roma n > всё равно для чего - это метод описания типов.
Гость
7 - 25.09.2012 - 14:15
6-roma n >По-моему, мутновато получится.
Даже почитав синтакс-помощник, не вкурю как это может выглядеть в моем случае...
8 - 25.09.2012 - 14:18
если не использовать посимвольный анализ - придется что-нибудь другое, которое тоже потребует вычислительных ресурсов.
.
ну и вдобавок например
1123.45d-7
- вполне себе правильная символьная запись числа.
Гость
9 - 25.09.2012 - 15:10
7-Marlboro >
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
МоёЧисло = ОписаниеТипаЧисло.ПривестиЗначение(МояСтрока);
Гость
10 - 25.09.2012 - 15:29
9-roma n >Ага.
А просто инициализировать переменную числовым значением (МоеЧисло=0) вместо Новый ОписаниеТипов("Число") прокатит ?
Гость
11 - 25.09.2012 - 15:30
8-Чучундер >В общем случае ты прав.
Но у меня задача проще - сравниваю артикул (строковый) с кодом (числовым). Если строковый артикул не "чисто число", то считаем, что он 0 и все.
Гость
12 - 25.09.2012 - 15:39
(11) а зачем считаем что он ноль?
Гость
13 - 25.09.2012 - 15:52
12-angro >Да по логике задачи так проще, интересуют только "числовые" артикулы
Гость
14 - 25.09.2012 - 17:01
10-Marlboro >
Цитата:
Сообщение от Marlboro Посмотреть сообщение
А просто инициализировать переменную числовым значением (МоеЧисло=0) вместо Новый ОписаниеТипов("Число") прокатит ?
Нет, тебе нужна переменная, инициализированная значением типа ОписаниеТипов. Иначе применить метод ПривестиЗначение() будет не к чему. Или пиши в переменную жёсткой типизации (см 3)


К списку вопросов






Copyright ©, Все права защищены