Имя: Пароль:
1C
1С v8
v8: Операция со строкой
🠗 (andrewks 21.09.2011 13:43)
,
0 Bettor
 
21.09.11
13:36
Имеется строка "00007ГАЗ "

Можно ли каким нибудь образом, и как если можно превратить эту строку в
"000007ГАЗ"

тоесть сдвинуть все вправо и вставить в начало ноль.
1 Bettor
 
21.09.11
13:36
блин опять в OFF залетела(((
2 Bettor
 
21.09.11
13:36
я честно ничаяно
3 ParaWiz
 
21.09.11
13:36
НашаСтрока="0"+СокрЛП(НашаСтрока);
4 Bettor
 
21.09.11
13:36
и не со сторой, а со строкой))
5 Alex S D
 
21.09.11
13:36
это явно ОФФ))
6 Bettor
 
21.09.11
13:37
(3) круть щас проверю
7 andrewks
 
21.09.11
13:37
(0) на чём пишем?
8 aleks-id
 
21.09.11
13:37
новстрока = "0"+стараястрока;
9 Bettor
 
21.09.11
13:37
надеюсь работать будет
10 ParaWiz
 
21.09.11
13:37
Если пробел только справа мешает то
НашаСтрока="0"+СокрП(НашаСтрока);
11 Maxus43
 
21.09.11
13:37
прикольно
12 Bettor
 
21.09.11
13:38
(7) дак в одинеске обработка
13 unregistered
 
21.09.11
13:38
(3) Это ты ноль вставил, а кто будет вправо сдвигать?
14 mishaPH
 
21.09.11
13:38
а если 2 0 надо или строка 7ГАЗ а надо 00000га
15 andrewks
 
21.09.11
13:38
имхо, нас жёстко троллят
16 ParaWiz
 
21.09.11
13:39
(13) я не по описанию делал а по примеру :)  "00007ГАЗ "  -> "000007ГАЗ"
17 FN
 
21.09.11
13:39
НашаСтрока=Лев("00000000000000000"+СокрЛП(НашаСтрока),НужноеКоличествоСимволов);
18 Wobland
 
21.09.11
13:40
у меня складывается такое ощущение, что автору добивать нолями слева до нужной длины надо. тогда
=Прав(Формат(стр, "ЧЦ=20; ЧН=; ЧВН=; ЧГ=0")+СокрЛП(стр), 20)
если нужная длина 20
19 Chum
 
21.09.11
13:41
л_Строка = Прав("000000" + л_Строка, 9);
20 unregistered
 
21.09.11
13:41
(17) Не Лев, а Прав
21 ParaWiz
 
21.09.11
13:41
СтрокаНулей="00000000000000000000000000000";
Количество_сдвигов=1;
НашаСтрока=Лев("0",Количество_сдвигов)+Лев(НашаСтрока,СтрДлина(НашаСтрока)-Количество_Сдвигов);
22 Gimalaj
 
21.09.11
13:41
(15) - самый правильный ответ.
23 Chum
 
21.09.11
13:41
(17) прав, а не лев :)
24 1Сергей
 
21.09.11
13:41
(18) иди отсюдава, подлый восмерошник
25 Wobland
 
21.09.11
13:41
(18) Формат(0,...) хотел сказать
26 ParaWiz
 
21.09.11
13:41
тьфу
СтрокаНулей="00000000000000000000000000000";
Количество_сдвигов=1;
НашаСтрока=Лев(СтрокаНулей,Количество_сдвигов)+Лев(НашаСтрока,СтрДлина(НашаСтрока)-Количество_Сдвигов);
27 Bettor
 
21.09.11
13:41
ДЛИНА 9 Символов
28 FN
 
21.09.11
13:42
(20) естественно опечатка
29 Wobland
 
21.09.11
13:42
(24) щас кину помидор, ну не заметил я про 7.7 ;)
(27) с 9 работать не будет
30 Bettor
 
21.09.11
13:43
По (10) примеру работает тока в предприятии в справочнике ничо не меняятся, щас думать буду
31 ParaWiz
 
21.09.11
13:43
в (26) универсально для любой длины строки ... "тьфу" в код писать не надо :)
32 1Сергей
 
21.09.11
13:43
(21) выдыхай, бобёр
33 Alex S D
 
21.09.11
13:43
чем больше нулей , тем лучше!
34 Bettor
 
21.09.11
13:43
(29) не у меня не 7.7 у меня 8.2
35 andrewks
 
21.09.11
13:43
бугагашечки...
36 Wobland
 
21.09.11
13:43
(34) форма управляемая?
37 andrewks
 
21.09.11
13:44
(34) с такими темами, да с таким оформлением, да с такой реакцией на наводящие вопросы приходи ТОЛЬКО в пятницу
38 АЛьФ
 
21.09.11
13:44
(31) Не универсально.
39 Bettor
 
21.09.11
13:45
(36) да
40 ParaWiz
 
21.09.11
13:45
(38) согласен, универсально для небольшой длины строки ... нулей надо было побольше :) штук 255
41 Bettor
 
21.09.11
13:45
Да все мужики нормально уже с (3) поста уже всё ясно было
42 Wobland
 
21.09.11
13:46
вон, у меня чуть подправить и нужную длину можно переменной задавать
43 АЛьФ
 
21.09.11
13:48
(40) И опять получил бы не универсально.
Надо было так:

Количество_сдвигов=1;
НашаСтрока=Формат(0,"Ч(0)"+Количество_сдвигов)+Лев(НашаСтрока,СтрДлина(НашаСтрока)-Количество_Сдвигов);
44 ParaWiz
 
21.09.11
13:51
(43) ты победил :) ...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший