![]() |
![]() |
![]() |
|
Деление на ноль | ☑ | ||
---|---|---|---|---|
0
mifrida
17.07.11
✎
21:25
|
Есть документ, пытаюсь обновить данные
в отладчике СтрТЧ.МолоднякПоголовье показывает = 0 потом СтрТЧ.МолоднякПоголовье <> 0 показывает истина, а потом жалуется что деление на нуль Почему так происходит? вот кусочек кода Если СтрТЧ.МолоднякПоголовье <> 0 тогда СтрТЧ.СоотношениеМТГ = (СтрТЧ.МолоднякЗаТекущийГод /СтрТЧ.МолоднякПоголовье)*100; КонецЕсли; |
|||
1
Evpatiy
17.07.11
✎
21:26
|
(0) Попробуй ЗначениеЗаполнено(СтрТЧ.МолоднякПоголовье)
|
|||
2
unregistered
17.07.11
✎
21:35
|
(0) >> Почему так происходит?
У отладчика спроси. откуда нам знать что там у тебя в СтрТЧ и уж тем более в СтрТЧ.МолоднякПоголовье? Может булево какое-нибудь или строка пустая... |
|||
3
aleks-id
17.07.11
✎
21:38
|
предположу, что значение в тч = 0,00000001 и при проверке выдает истину, а при делении округляется до 0,00.
|
|||
4
Живой Ископаемый
17.07.11
✎
21:38
|
вы бы хотели чтобы исключение происходило с сообщением "попытка деления на Неопределено" или "деление на Null" или "деление на 1 января 1980 года" или "деление на 'Съешь этих мягких французских булочек да выпей чаю'?"
|
|||
5
БибиГон
17.07.11
✎
21:39
|
/потом
СтрТЧ.МолоднякПоголовье <> 0 показывает истина А равно тогда хоть чему? ;) |
|||
6
mifrida
17.07.11
✎
21:39
|
(1) безрезультатно
(2)СтрТЧ даже по названию переменной можно понять что это строка табличной части, все что говорит отладчик написано (0) я всего лишь делю одну ячейку на другую и ответ записываю в третью |
|||
7
Sergey_KR
17.07.11
✎
21:41
|
может надо еще на null проверить?
|
|||
8
mifrida
17.07.11
✎
21:43
|
СтрТЧ.МолоднякПоголовье - содержит число, в данном случае это ноль я проверила
|
|||
9
БибиГон
17.07.11
✎
21:47
|
(8) И какой вывод?
|
|||
10
mifrida
17.07.11
✎
21:47
|
и не null
дело в том что в начале я заполняю таблицу нулями, лишь потом значениями из запроса и заполняю вычисляемые поля ща еще протрассираю заполнение данными из запроса |
|||
11
Живой Ископаемый
17.07.11
✎
21:47
|
(8) ну так чего вы удивляетесь? на Ноль делить нельзя, математика, 4-й класс
|
|||
12
mifrida
17.07.11
✎
21:48
|
(11) перед делением стоит проверка на нуль
|
|||
13
andrewks
17.07.11
✎
21:50
|
ТипЗнч(СтрТЧ.МолоднякПоголовье)-?
|
|||
14
Живой Ископаемый
17.07.11
✎
21:50
|
тогда кто-то врет
|
|||
15
БибиГон
17.07.11
✎
21:52
|
(12) покажи код полностью.
|
|||
16
aleks-id
17.07.11
✎
22:04
|
можно еще так попробовать:
Если НЕ СтрТЧ.МолоднякПоголовье = 0 тогда СтрТЧ.СоотношениеМТГ = (СтрТЧ.МолоднякЗаТекущийГод /СтрТЧ.МолоднякПоголовье)*100; КонецЕсли; |
|||
17
Sergey_KR
17.07.11
✎
22:08
|
(16) :)
Попытка СтрТЧ.СоотношениеМТГ = (СтрТЧ.МолоднякЗаТекущийГод /СтрТЧ.МолоднякПоголовье)*100; Исключение СтрТЧ.СоотношениеМТГ =0 КонецПопытки; :))))) |
|||
18
mifrida
17.07.11
✎
22:11
|
(16)Спасибо :)
|
|||
19
mifrida
17.07.11
✎
22:12
|
Ой (17)
|
|||
20
НП
18.07.11
✎
00:01
|
Если СтрТЧ.МолоднякПоголовье <> 0 тогда
СтрТЧ.СоотношениеМТГ = (СтрТЧ.МолоднякЗаТекущийГод /СтрТЧ.МолоднякПоголовье)*100; КонецЕсли; |
|||
21
НП
18.07.11
✎
00:02
|
или
Если НЕ (СтрТЧ.МолоднякПоголовье = 0) тогда СтрТЧ.СоотношениеМТГ = (СтрТЧ.МолоднякЗаТекущийГод /СтрТЧ.МолоднякПоголовье)*100; КонецЕсли; |
|||
22
dragonIMV
18.07.11
✎
06:56
|
(21) тоже не то....если это поле будет иметь другой тип то условие будет соблюдено...а делить на "дату" или на "строку" тоже как то не то...
|
|||
23
DJ Anthon
18.07.11
✎
07:04
|
а оно что, неопределенного типа или составного?
|
|||
24
dragonIMV
18.07.11
✎
07:20
|
если тип значения может меняться то пусть добавит еще в начале проверку на тип (ТипЗнч) и все...а потом уже с нулем сравнивает...
|
|||
25
sda553
18.07.11
✎
08:00
|
Предлагаю пример кода который будет выдавать ошибку деления на 0, несмотря на все проверки
а = "0"; Если ЗначениеЗаполнено(а) и а<>0 Тогда с = 1/а; КонецЕсли; |
|||
26
Escander
18.07.11
✎
08:06
|
(25)
а если вот так: а = "0"; Если (а+0)=(0+а) Тогда с = 1/а; КонецЕсли; |
|||
27
andrewks
18.07.11
✎
08:08
|
извращенцы... вам ТипЗнч() для чего сделали?
|
|||
28
Escander
18.07.11
✎
08:09
|
(27)эт мы после выхов пальцы разминаем...
|
|||
29
sda553
18.07.11
✎
08:10
|
(26) Думаю, если так то будет счастье
|
|||
30
dragonIMV
18.07.11
✎
08:34
|
щас мы вместо ТипЗнч напишем велосипед с 10 колесами разного размера и тремя рулями...))))
|
|||
31
Escander
18.07.11
✎
08:46
|
(30) зато окончательно отрезвеем увидев что получилось на выходе!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |