Имя: Пароль:
1C
 
ЭтоЧисло() ?
0 markers
 
11.03.09
12:51
Здраствуйте!
Как многие наверное уже помнять, я только лиш учусь 1С-ке, потому возникают ламерские и чайниковские вопросы!
Вот новый такой вопрос: Имеем какое-то значение (текст или число), как в 1С определить число ли мне пришло или строка? Поглядел на Число(), но возращает результат если можно преобразовать в число в противном случае возбуждает ошибку. Можно конечно отслежитвать это через Попытку, но кажется как-то кривовато.
Вообщем вопрос: Как определить что тип данных Число?
Спасибо!
1 markers
 
11.03.09
12:52
Определение типа данных
ТелепатБот ответь!
2 Нуф-Нуф
 
11.03.09
12:52
телепатБот фас!
3 Salvador Limones
 
11.03.09
12:53
Можно использовать RegExp. Недавно код пробегал.
4 Лефмихалыч
 
11.03.09
12:54
(0) кури страницы букваря со словами "ТипЗнч()" и "Тип()"
5 Mudrii_
Gankster
 
11.03.09
12:55
(2) ))))))))))))))))))))
6 Mudrii_
Gankster
 
11.03.09
12:55
ТелепатБот   в студию
7 Mudrii_
Gankster
 
11.03.09
12:56
Если ТипЗнч(значение)=Тип("Число") Тогда ...
8 Stepa86
 
11.03.09
12:57
9 markers
 
11.03.09
13:01
Спасибо всем, отобенно (7). Счас проверю!
10 Masquerade
 
11.03.09
13:06
Сколько с 8-кой не вожусь, а с такой задачей не сталкивался. Не дорос, видимо.
11 markers
 
12.03.09
07:01
(10)
Может не случалось :)
А мне вот пришлось, может на это повлияло что я писал на языках типа Delphi.... Мне просто потребовалось проверить что за данные в ячейке в указанным Excel файле, так как ожидалось что там число, а бывает что там текст
12 Masquerade
 
13.03.09
00:30
А, ну если тут EXCEL... Жуть.
13 Злобный Фей
 
13.03.09
00:48
(10) Действительно странно..
14 wertyu
 
13.03.09
00:52
(11) отмазка, в ёкселе вообще чисел нет
15 КонецЦикла
 
13.03.09
01:52
На, перепишешь сам для восьмерки

//Вадимко (цы)
//универсальная функция определяющая является ли строка числом

Функция ЭтоЧисло(Знач ТекСтр)
   ТекСтр = СокрЛП(ТекСтр);
   ТекСтр = СтрЗаменить(ТекСтр,"0","9");
   
   Если (СтрДлина(Число(ТекСтр)) <> СтрДлина(ТекСтр))
   или ((СтрДлина(ТекСтр) = 1) и (Найти("0123456789",ТекСтр) = 0)) Тогда
       Возврат 0;
   КонецЕсли;
   
   Возврат 1;
КонецФункции // ЭтоЧисло()
16 Masquerade
 
13.03.09
10:22
(13)
Не касательно экселя - непонятно - зачем узнавать тип значения в ячейке? Папахивает неправильной организацией. Не свернуть по такой таблице, не поискать нормально...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс