Имя: Пароль:
1C
 
Как узнать является ли значение числом
0 Число1
 
18.08.05
09:42
Вот из текствого файла нужно только числа
1 Волшебник
 
модератор
18.08.05
09:43
Попытка
 НечтоКакЧисло = Число(Нечто);
Исключение
...
2 Морозов Александр
 
18.08.05
09:43
А фрагмент файла можно?
Ну и сказать что надо что нет.
3 Волшебник
 
модератор
18.08.05
09:44
в 7.7 преобразование не-числа в число дает 0
4 Алгоритм
 
18.08.05
09:44
ТипЗначения(<?>)
Синтаксис:
ТипЗначения(<Значение>)
Назначение:
Возвращает:
тип данных значения в виде числа.
Параметры:
<Значение> - выражение, тип данных значения которого надо определить.
Возвращаемые значения типов данных:
0 - неопределенный тип данных;
1 - числовой тип данных;
5 SnarkHunter
 
18.08.05
09:45
(4)Бесполезный ответ не по теме...
6 колодина
 
18.08.05
09:45
(3) действительно так... а вот если это число=0, тогда как?
7 Guk
 
18.08.05
09:45
(4) Очень актуально для текстового файла...
8 Волшебник
 
модератор
18.08.05
09:46
(6) Если нечто="0"
9 Число1
 
18.08.05
09:46
"79","010467136/KZT","0","05.08.2005 19:00:49","501960676","0","2050","0","16794796.93","Снятие комиссионных за обработку платежей
за период с 05.08.05 по 05.08.05.
НДС не предусмотрен.
10 ИвановИван
 
18.08.05
09:48
А я то думаю, что форум тормозит? Теперь понял Волшебник же юзает такие конструкции как в (1) )), правда чего греха таить, когда я первый раз писал на 1С использовал имено такую конструкцию
11 Guk
 
18.08.05
09:48
Если Число(ЯкобыЧисло)<>0 Тогда
   Сообщить("Число");
КонецЕсли
12 Морозов Александр
 
18.08.05
09:49
ИзСтрокиСРазделителями(<?>)
Синтаксис:
ИзСтрокиСРазделителями(<Строка>)
Назначение:
Заполняет СписокЗначений значениями из переданной в качестве параметра строки, содержащей разделенные запятыми значения: числа и строки в двойных кавычках.
Параметры:
<Строка> - символьная строка, в которой значения разделены запятыми. В качестве значений могут быть числа и строковые значения - они записываются в двойных кавычках.
13 Число1
 
18.08.05
09:49
Список=СоздатьОбъект("СписокЗначений");
   Док=СоздатьОбъект("Документ.Выписка");
   Спр=СоздатьОбъект("Справочник.Контрагенты");
   АТФ.Открыть(ПутьАТФ);
   Для А=1 по АТФ.КоличествоСтрок() Цикл
       Стр=Атф.ПолучитьСтроку(А);
       Список.ИзСтрокиСРазделителями(Стр);
       НомерДок=Список.ПолучитьЗначение(1));
       Если НомерДок=Число(НомерДок) Тогда
       КонецЕсли; //Вот так? Буду пробовать
14 Guk
 
18.08.05
09:49
(9) А вообще не понятно, ты что структуру строки не знаешь, где у тебя число, а где нет...
15 povar
 
18.08.05
09:50
(9) если формат строки постоянный, тогда фигня
16 Морозов Александр
 
18.08.05
09:50
(14) Это-ж "клиент банка"
17 Guk
 
18.08.05
09:51
(16) И что? Его формат каждый раз динамически колбасит?...
18 Число1
 
18.08.05
09:56
Спасибо всем. Еще один вопрос. Когда выгружаю в текстовом формате с банк клиента, то он мне одну СТРОКУ с разделителями разбивает абзацами(так там написали прогу),но не все,  то есть когда я ищу значение  ИзСтрокиСРазделителями(Стр);  он может выдать не только например номер документа. Пример

"79","010467136/KZT","0","05.08.2005 19:00:49","501960676","0","2050","0","16794796.93","Снятие комиссионных за обработку платежей
за период с 05.08.05 по 05.08.05.
НДС не предусмотрен

///По идее эта дожна быть одна СТРОКА с разделителями. Как искать теперь номер документа, если есть нормальные в ОДНУ строку с разделителями, а есть ткаие вот с абзацами
19 Число1
 
18.08.05
09:56
(14) В том то и дело структура прыгает
20 AlexWolf
 
18.08.05
09:58
сз.ИзСтрокиСРазделителями(ТвояСтрока);

й=СокрЛП(сз.ПолучитьЗначение(n));
СтрФормата="Ч(0)"+Строка(СтрДлина(й))+".0";
Если Формат(Число(й),СтрФормата)=й тогда
  Сообщить("Это число");
КонецЕсли;

//"Формат" - на случай, если есть ведущие нули
21 Число1
 
18.08.05
09:59
(17) Выходит так. При чем это только как я заметил, на платежах по сбору коммисионных за проведение банком операций. Может отселживать ключевые слова и пропускать абзац?
22 Морозов Александр
 
18.08.05
10:00
(18) А ты проверяй если после Список.ИзСтрокиСРазделителями(Стр)
РазмерСписка() не такой значит подгружаем следующую строчку
23 Число1
 
18.08.05
10:01
(22) Ай спасибо. Буду пробовать.
24 Волшебник
 
модератор
18.08.05
10:01
(10) Это не моё изобретение. Это метод Рупора.
25 smaharbA
 
18.08.05
10:05
ЯкобыЧисло=СокрЛП(ЯкобыЧисло);
ЯкобыЧисло=ФункцияОтбросаЛевыхНезначащихНулейИЗаменыЗапятой(ЯкобыЧисло);
Сообщить(?(ЯкобыЧисло="0","Число 0",?(Число(ЯкобыЧисло)="0","Число "+ЯкобыЧисло+" Не число","Число "+ЯкобыЧисло)));