|
Странный методом СтрДлина | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
kamila0713
16.09.19
✎
11:56
|
Метод СтрДлина(<ВходнойПараметр>) оказывается работает со всеми типами. Преобразовывает значение Входного Параметра в строку и возвращает длину.
Интересно |
|||||||
1
ДенисЧ
16.09.19
✎
11:58
|
Это называется "неявное преобразование типов".
Поскольку СтрДлина ожидает строку - так параметр и преобразовывается в строку. Точнее, получается его представление Баян |
|||||||
2
Сияющий в темноте
16.09.19
✎
12:01
|
предстваление ужн получается,когда вызывается преобразование в строку.
|
|||||||
3
unregistered
16.09.19
✎
12:02
|
+ (1) Причем неявное преобразование типов много где в 1С работает.
Например, посмотри значения переменных: А = 0.5 + 1; Б = "0.5" + 1; В = 0.5 + "1"; |
|||||||
4
kamila0713
16.09.19
✎
12:04
|
(3) Как раз о таком преобразовании, конечно, знаю. Но прям в методе. первый раз встретил. Обычно ругался
|
|||||||
5
kamila0713
16.09.19
✎
12:04
|
(1) (2) (3) Все спасибо
|
|||||||
6
Масянька
16.09.19
✎
12:04
|
Вы меня извините, но вот и пример...
|
|||||||
7
Вафель
16.09.19
✎
12:07
|
А например что СокрЛП(Парам) в строку преобразует для тебя тоже удивительная новость?
|
|||||||
8
Вафель
16.09.19
✎
12:08
|
но лучше конечно неявняым пользоваться поминимуму
|
|||||||
9
Консультант Баранов
16.09.19
✎
12:08
|
(0) Тоже стало открытием, что вместо СокрЛП(Строка(Х)) можно просто СокрЛП(Х).
Но ИМХО, так только хуже. Где-то опишешься, а потом ошибки вылавливать приходится. |
|||||||
10
Fragster
гуру
16.09.19
✎
12:09
|
||||||||
11
sikuda
16.09.19
✎
12:34
|
(10) "2"+"2"-1?
Баян |
|||||||
12
Вафель
16.09.19
✎
12:35
|
(11) в 1с другие правила неявного преобразования
|
|||||||
13
Вафель
16.09.19
✎
12:35
|
(11) В js это будет число 21
|
|||||||
14
Serg_1960
16.09.19
✎
12:37
|
Неявное преобразование может сыграть дурную шутку из-за настроек по умолчанию. Например длина числа 1234 = 5 :)
|
|||||||
15
vova1122
16.09.19
✎
12:43
|
(11) Интересно. 1с сообщает что "2"+"2"-1="21"
а "2"+"2"+1="221" |
|||||||
16
vova1122
16.09.19
✎
12:49
|
+(15) вернее в первом варианте будет число а во втором строка
|
|||||||
17
Кац
16.09.19
✎
12:50
|
(6) пример чего?
|
|||||||
18
Aleksey
16.09.19
✎
13:04
|
К сожалению не везде
В 7-ке число("Строка") вернет 0 В 8-ке число("Строка") вернет ошибку |
|||||||
19
Aleksey
16.09.19
✎
13:06
|
(15) потому что + это не только сложение, но и конкатенация
|
|||||||
20
Aleksey
16.09.19
✎
13:08
|
(14) это где?
в 7-ке СтрДлина(1234) = 4 |
|||||||
21
ДенисЧ
16.09.19
✎
13:11
|
(20) В 8ке при настройках по умолчанию
|
|||||||
22
palsergeich
16.09.19
✎
13:39
|
(15) + перегружен на тип строка
А - нет |
|||||||
23
Rovan
гуру
16.09.19
✎
13:50
|
"Преобразовывает значение Входного Параметра в строку и возвращает длину."
Не для всех... иногда преобразовывает к типу - например "Динамический список". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |