Имя: Пароль:
1C
1С v8
Собрать цифры в число
,
0 Облачко
 
25.09.20
16:53
Как можно собрать в СКД число из знаков: 1 2 35 6? Т.е. Нужно получить число 12356
1 shuhard
 
25.09.20
16:56
(0) число из цифр ?
2 Волшебник
 
25.09.20
16:57
1*10000 + 2*1000 + 3*100 + 5*10 + 6
3 Облачко
 
25.09.20
16:58
(1) да
4 Облачко
 
25.09.20
16:59
собрал огромный запрос, а почти в самом конце оказалось что переменная которая мне нужна числом, хранится как строка. Блин.. )
5 Волшебник
 
25.09.20
16:59
Ещё никому не удавалось преобразовать строку в число в запросе.
6 Облачко
 
25.09.20
17:02
задумка такая, я знаю разрядность - 6 знаков. преобразовываю символы строки в знаки, и знаки как-то соединяю. Отсюда вопрос, как два знака соединить в число? )
7 Облачко
 
25.09.20
17:06
помогите, братья )))
8 kubik_live
 
25.09.20
17:11
(7) А чем в (2) не устраивает???
9 Облачко
 
25.09.20
17:13
(8) с первого раза не получилось, но теперь  похоже я выкручусь )
10 Облачко
 
25.09.20
17:13
спасибо )
11 Жан Пердежон
 
25.09.20
17:31
(5) ВЫБОР КОГДА ЧислоСтрокой = "1" ТОГДА 1 ИНАЧЕ 0 КОНЕЦ ЧислоЧислом
12 Волшебник
 
25.09.20
17:35
(11) Это не число, а цифра
13 eTmy
 
25.09.20
17:38
А в запросе ВЫРАЗИТЬ, не вариант?)
14 eTmy
 
25.09.20
17:40
Вполне пятнично
15 Жан Пердежон
 
25.09.20
17:52
(12) вполне число
16 RomanYS
 
25.09.20
17:55
(12) При должном упорстве вполне решаемая задача, но причина почему Джо неуловим известна
17 youalex
 
25.09.20
18:11
В СКД можно пользовать функции ОМ. Но то такое
18 kubik_live
 
25.09.20
18:33
Функция СтрокаВЧисло(Стр)
    
    Результат=0;
    
    ИсхСтр=СокрЛП(Стр);
    
    ПромСтр="";
    
    Для Сч=1 По СтрДлина(ИсхСтр) Цикл
        
        ТекСимв=СокрЛП(Сред(ИсхСтр,Сч,1));
        
        Если НЕ ОбщегоНазначения.ЕстьНеЦифры(ТекСимв) И НЕ ТекСимв="" Тогда
            ПромСтр=ПромСтр+ТекСимв;
        Иначе
            Продолжить;
        КонецЕсли;    
        
    КонецЦикла;    
    
    
    Для Сч=-СтрДлина(ПромСтр) По -1 Цикл
        
        ТекМножитель=Сред(ПромСтр,-Сч,1);
        ТекРазряд=Pow(10,(СтрДлина(ПромСтр)+Сч));
        
        Результат=Результат+ТекМножитель*ТекРазряд;
        
    КонецЦикла;    
    
    Возврат Результат;
    
КонецФункции
19 МихаилМ
 
25.09.20
19:10
20 HeKrendel
 
26.09.20
09:38
(4) ну так заведи ещё одну числом
21 Ненавижу 1С
 
гуру
26.09.20
10:27
(12) это число
7 - это число
"7" - это цифра
22 Fram
 
26.09.20
10:48
Можно ещё собрать временную таблицу соответствия символа цифре (числу если угодно) и соединением
23 Гений 1С
 
гуру
26.09.20
12:36
(5) через функции СКД же, Волшебник. Йопта