|
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 + "Петр ")
|
|