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 > Нет, тебе нужна переменная, инициализированная значением типа ОписаниеТипов. Иначе применить метод ПривестиЗначение() будет не к чему. Или пиши в переменную жёсткой типизации (см 3) | |
| Интернет-форум Краснодарского края и Краснодара |