Что компилятор этим хочет сказать?

 
 
Посмотрите каноническую ветку - https://www.mql5.com/ru/forum/52504
 

Понял, торможу, извиняюсь.

Походу надо хоть иногда отдыхать...

Как удалить ветку?

 
StSpirit >>:

Как удалить ветку?

Может не надо?

Пригодится...

Ибо точно так-же БЫ записал.

Теперь вот знаю точно что не надо так делать...

а как надо то?

 
StSpirit >>:

...Как удалить ветку?

Поздно, доктор... После появления первого чужого поста это невозможно. Попросите Роша.

 
kombat >>:

Может не надо?

Пригодится...

Ибо точно так-же БЫ записал.

Теперь вот знаю точно что не надо так делать...

а как надо то?

Блин, я первый пост грохнул, пытаясь ветку удалить, смысл ее такую куцую оставлять?

 
StSpirit >>:

Блин, я первый пост грохнул, пытаясь ветку удалить, смысл ее такую куцую оставлять?

Повторить пример не проблема.


Смысл...

Имеем два источника целых чисел a=9 и b=4.

Результат желаем получить максимально точный и естественно предполагая наличие дробной части

то заводим для этого приемник дабл c;

*

Понятное дело что в большинстве случаев результат от деления целых тоже нужен в целом.

А как изменить то расчёты для получения точности? вот в чём вопрос...

по ссылке что приведена выше кроме констатации факта более ничего нет.

 

только введением новой переменной и приведением типов,

объявляем переменную а1 типа double, а дальше:

a1 = a;

c = a1/b;

Результат 2,25.

 
StSpirit >>:

только введением новой переменной и приведением типов

Зачем так страшно?

c = a;
c /= b;
 
TheXpert >>:

Зачем так страшно?

Да, так изящнее, но суть не меняется, тоже приведение типов.

 
StSpirit >>:

только введением новой переменной и приведением типов

объявляем переменную а1 типа double, а дальше:

a1 = a;

c = a1/b;

Результат 2,25.

С обьявлением даблом то понятно...

(и догадаться несложно)

а вот как готовое нечто привести к удобоваримому виду?

Первый вариант да, дабл a1 = инт a;

или что тоже самое дабл а1=AccountLeverage();

если ранее не было назначения переменной для плеча...

*

А вот есть ли вариант при случае когда AccountLeverage(); используется один раз

и переменная не назначалась и функция прямо была включена в формулу с делением двух целых?

инт риск=3;

дабл с=AccountLeverage()/риск;

*

Понятное дело что погрешность 33 и 33.333 незначительна, но...

Причина обращения: