Имя: Пароль:
1C
1С v8
СоединениеЧисел
,
0 antiteror91
 
07.03.13
15:07
Скажите пожалуйста как получить число в следующем случае:
у меня есть число a=24 и второе число b=36. мне нужно получить число: с=2436. Но это необходимо реализовать НЕ в запросе.
1 mikecool
 
07.03.13
15:08
преобразовать в строку, конкатенировать, выполнить обратное преобразование
2 ale-sarin
 
07.03.13
15:08
C = СТрока(a) + Строка(b)
3 ДенисЧ
 
07.03.13
15:08
с = Формат(а, "ЧГ=") + Формат(б, "ЧГ=")
4 mikecool
 
07.03.13
15:08
первое умножить на количество разрядов второго и прибавить второе
5 НафНаф
 
07.03.13
15:09
Pow(10,(Цел(Log10(b))+1))*a+b
6 НафНаф
 
07.03.13
15:10
интересует другое, зачем?
7 H A D G E H O G s
 
07.03.13
15:10
(4) Ура! Не перевелись еще.
8 PR
 
07.03.13
15:10
(1) Пипец
9 PR
 
07.03.13
15:10
(2) Пипец
10 PR
 
07.03.13
15:10
(3) Пипец
11 PR
 
07.03.13
15:11
(4) Что это ты вдруг поменял свое мнение? :))
12 НафНаф
 
07.03.13
15:11
(11) он предлагает разные решения
13 ale-sarin
 
07.03.13
15:13
(9) Не спорю. Хрень может получиться.
14 ДенисЧ
 
07.03.13
15:14
(8) (9) (10) Обрати внимание - свой вариант ты не предложил.
Или по натуре ты Белинский? (с)
15 mxs089
 
07.03.13
15:15
(2) Число(Строка(a) + Строка(b))
16 НафНаф
 
07.03.13
15:16
(15) лучше формат уж тогда
17 ale-sarin
 
07.03.13
15:18
Да формат лучше,т.к. разделитель разрядов.
18 exwill
 
07.03.13
15:21
А мне больше нравится следующий вариант:

если а=24 и б=36 тогда
с=2436
иначеесли а=36 и б=24 тогда
с=3624
иначеесли ....

...

конецесли;

У него масса плюсов.
19 PR
 
07.03.13
15:22
(14) Свой вариант (4). Какой еще вариант может быть?
a * Pow(10, СтрДлина(Формат(b, "ЧГ="))) + b
20 НафНаф
 
07.03.13
15:25
(19) чем вариант (5) хуже?
21 Reset
 
07.03.13
15:25
(19) А как же твое фи на формат? (10)
22 Reset
 
07.03.13
15:25
(19) По сути это худший из вариантов :)
23 Reset
 
07.03.13
15:26
(5) - нормальный математический, (3) - через преобразования строк, а (19) индусский какой-то
24 Reset
 
07.03.13
15:27
(18) - китайский ;))
25 antiteror91
 
07.03.13
15:27
(0) проблема еще в том что формат первого числа: a=05 второе b = 05 в итоге c = 0505
26 mikecool
 
07.03.13
15:28
(19) нет бога кроме аллаха и мухаммед пророк его?
27 Reset
 
07.03.13
15:28
ТС не дает расслабиться (25) :D
28 НафНаф
 
07.03.13
15:28
(25) ты нам сейчас совсем не про числа говоришь
29 exwill
 
07.03.13
15:29
(24) Сам ты - китайский! )))
Это метод тру-программиста.
30 exwill
 
07.03.13
15:31
(27) (28)
А в итоге выяснится, что мой метод - единственно правильный )))
31 antiteror91
 
07.03.13
15:34
(25) ну тогда получается две переменные которые имеют значение
a=05 вторая b = 05
32 НафНаф
 
07.03.13
15:34
(31) то есть это тупо строки? тогда тупо a+b
33 exwill
 
07.03.13
15:48
(31)

если а=24 и б=36 тогда
с=2436
иначеесли а=05 и б=05 тогда
с=0505
конецесли;
34 PR
 
07.03.13
15:51
(20) Это то же самое
35 PR
 
07.03.13
15:51
(21) Не тупим
36 Reset
 
07.03.13
15:55
(35) Уверен, что не тупите? :)
37 DomovoiVShoke
 
07.03.13
16:04
(19)А если 3 или 4 числа будет?
Код должен быть простым и доступным к быстрому исправлению и дополнению. Если встанет вопрос в скорости, то не уверен что (19) быстрее будет чем вариант из (3) с наложением преобразования в число.
38 НафНаф
 
07.03.13
16:05
(34) не тоже, там нет долгого преобразования в строку
Ошибка? Это не ошибка, это системная функция.