Имя: Пароль:
1C
1C 7.7
v7: разбираю чужой код
0 wizard_forum
 
21.09.12
16:10
вижу такую вещь
в ТЗ записывается
Формат(Запрос.ОстатокКонОст,"Ч15.2")

а потом это значение берется из ТЗ для расчетов как цифра без всяких преобразований

не очень понимаю как строка сама преобразовывается в число?

самое интересное, что работает
1 Guk
 
21.09.12
16:11
вроде, если колонка ТЗ типизирована как чило, то работает...
2 Эльниньо
 
21.09.12
16:11
Не знал.
3 wizard_forum
 
21.09.12
16:16
(1) в ТЗ колонка куда запихивается значение типизирована как строка
4 Надсмотрщик
 
21.09.12
16:21
(0) Попробуй
Формат(Запрос.ОстатокКонОст,"Ч(0)15.2")    
;-)
5 ДенисЧ
 
21.09.12
16:22
Если строка может преобразоваться в число, то она может участвовать в выражениях типа 1 + "1.15", но не "1.15" + 1
6 wizard_forum
 
21.09.12
16:22
(4) нашел, где эта строка преобразовывается в цифирь Число()
вопрос - у меня есть сомнения, что форматированная строка корректно будет преобразовано в число
7 ДенисЧ
 
21.09.12
16:23
(6) если у тебя есть сомнения, то убери форматирование
8 wizard_forum
 
21.09.12
16:28
(7) само собой, просто теоретически интересно
эксперимент показал, что форматированная строка, преобразованная в число
Число(ФормСтрока) работает как число
но, всегда ли это будет корректно?
9 Шапокляк
 
21.09.12
16:29
смотря какое форматирование.
10 ЧеловекДуши
 
21.09.12
16:30
(8)Самое ужасное, что подобные фокусы уже не проходят в 8-ке :)
11 Надсмотрщик
 
21.09.12
16:30
(8) см (4)
12 ДенисЧ
 
21.09.12
16:31
(10) Да ну... Проходят. Если нормально форматировать
13 Эльниньо
 
21.09.12
16:32
"Петр " + 1 = "Петр 1"

1 + "Петр " = 1
14 Надсмотрщик
 
21.09.12
16:33
Число("Петр " + 1) = Число(1 + "Петр ")
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан