Что не так (см. скрин)?

 
 
prostotrader:

Типичный пример, когда числа double дают чуть-чуть разные результаты при вроде бы одинаковой арифметике. Если вы нажмете кнопку SRC и выложите нормальный текст, я подправлю. В картинках тут не выкладывают
 
Alexey Volchanskiy:

... чуть-чуть разные результаты....


s_price = 0.0 - это чуть-чуть????

(см. значение переменных в правом нижнем углу скрина)

 
Попробуйте написать не 360, а 360.0, иначе весь знаменатель - целое число.
 
Yuriy Asaulenko:
Попробуйте написать не 360, а 360.0, иначе весь знаменатель - целое число.

А почкму в первой конструкции (36000) работает, тоже целое число?
 
prostotrader:

А почкму в первой конструкции (36000) работает, тоже целое число?

pr_exp и SecStavka - какой тип? Если одна из переменных целочисленная, то вот и ответ.
 
prostotrader:

А почкму в первой конструкции (36000) работает, тоже целое число?

Целое-не целое определяется по первому числу. 2/3.0=0, а 2.0/3=0.66. Аналогично и умножение - тип результа по первому числу.

От конкретного компилятора тоже зависит. Лучше все явно приводить к типу результата.

 
Ihor Herasko:

pr_exp и SecStavka - какой тип? Если одна из переменных целочисленная, то вот и ответ.

double
 
Yuriy Asaulenko:

Целое-не целое определяется по первому числу. 2/3.0=0, а 2.0/3=0.66. Аналогично и умножение - тип результа по первому числу.

От конкретного компилятора тоже зависит. Лучше все явно приводить к типу результата.


так первые числа - double
 
prostotrader:

так первые числа - double
В знаменателе первая 360 - т.е. весь знаменатель явно целый.  Вы в курсе в какой последовательности и как вычисляется выражение? Это от конкретного компилятора зависит. Приведите все явно к double и не задумывайтесь.
 
Yuriy Asaulenko:
В знаменателе первая 360 - т.е. весь знаменатель явно целый.  Вы в курсе в какой последовательности и как вычисляется выражение? Это от конкретного компилятора зависит. Приведите все явно к double и не задумывайтесь.

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