Имя: Пароль:
1C
1C 7.7
v7: Обработка деления на ноль.
0 bizon2008
 
26.10.11
10:52
День добрый. Подскажите, как мне обработать деления на ноль.
Сейчас так получаю ошибку и обработка прекращает работу.

ПечНаценка  = Формат(((ЦенаРозничная.Цена.Получить(ВыбКонПериода)/ТабЗнач.ЦенаЗакупки)*100)-100, "Ч12.2");
{D:\ОБРАБОТКИ\ПРОВЕРКА_НАЦЕНКИ.ERT(100)}: Деление на 0
1 Grusswelle
 
26.10.11
10:52
?(,,) Не?
2 ДенисЧ
 
26.10.11
10:53
Попытка Исключение
Или тупо проверка перед делением..
3 andrewks
 
26.10.11
10:54
ОбработкаДеленияНаНоль.ert

Рез=1/0;
4 povar
 
26.10.11
10:55
попытка
5 VladZ
 
26.10.11
10:55
Если ТабЗнач.ЦенаЗакупки<>0 Тогда
// вычисляем
Иначе
сообщить("На ноль делить нелья!!!!");
КонецЕсли;
6 VladZ
 
26.10.11
10:56
Если колонка нетипизирована:
Если Число(ТабЗнач.ЦенаЗакупки)<>0 Тогда
7 Patrio_
O_Muerte
 
26.10.11
10:56
ИМХО Попытка не кошерно
8 filh
 
26.10.11
10:56
афигеть!
9 Эльниньо
 
26.10.11
11:06
ПечНаценка  = Формат((?(ТабЗнач.ЦенаЗакупки = 0, 0, (ЦенаРозничная.Цена.Получить(ВыбКонПериода)/ТабЗнач.ЦенаЗакупки)*100)-100, "Ч12.2");
10 Ткачев
 
26.10.11
11:07
(7)Почему ?
11 1Сергей
 
26.10.11
11:51
А сколько будет бесконечность делённая на ноль?
12 ДенисЧ
 
26.10.11
11:52
(11) Зависит от порядков бесконечности и нуля...
13 filh
 
26.10.11
11:52
(11) а тебе зачем?
14 andrewks
 
26.10.11
12:00
(11) бесконечность
15 Александр_
Тверь
 
26.10.11
12:03
(7) +1
попытка нужна только там, где от тебя ничего не зависит (открытие файла, запрос к другой бд и т.д.). Тут же все просто, проверь знаменатель на ноль и всего делов-то.
16 Эльниньо
 
26.10.11
12:04
(11) БольшойВзрыв
17 Patrio_
O_Muerte
 
26.10.11
12:06
(11)Деление любого числа на ноль стремится к бесконечности.
(7)Способ ?(,,) дает простую и однозначную альтернативу 0 в знаменателе.
Попытка ИМХО тяжелее.
18 andrewks
 
26.10.11
13:01
(17) 1. ты не прав. деление нуля на нуль стремится к единице :-)
19 filh
 
26.10.11
13:06
(18) а не к 0?
20 andrewks
 
26.10.11
13:09
(19) вообще, наврал. это неопределённость, зависит от входных функций

wiki:Раскрытие_неопределённостей
21 filh
 
26.10.11
13:11
(20) вот и я про это
:)
22 andrewks
 
26.10.11
13:14
(21) ну ты бы привёл для приличия пример функций, когда получится 0 ;-)
23 filh
 
26.10.11
13:16
(22) 0*0
:)
24 andrewks
 
26.10.11
13:16
(23) шулер! речь шла про 0/0! :)
25 filh
 
26.10.11
13:20
(24)
:)
А такого нет.
26 andrewks
 
26.10.11
13:21
если моя память мне не изменила-таки за это время, прошедшее после универа, то получается:

x^2 / x
27 filh
 
26.10.11
13:21
хотя...
28 filh
 
26.10.11
13:22
ну, да, если верхняя часть будет стремится быстрей, чем нижняя, то будет 0. Функций не помню)
29 catena
 
26.10.11
13:54
sin(x)/x