деление целого числа на целое число не дает double - страница 2

 

вот правильная формула, тему переименовал чтобы в поиске была кому нужно будет


if (rsil>88)rsilnew=100+(rsil-88)*(50/12);

if (rsil>70 && rsil<=88)rsilnew=50+(rsil-70)*(50.0/18.0);
if (rsil>50 && rsil<=70)rsilnew=0+(rsil-50)*(50.0/20.0);

if (rsil>30 && rsil<=50)rsilnew=0-(rsil-30)*(50.0/20.0);
if (rsil>12 && rsil<=30)rsilnew=-50-(rsil-12)*(50.0/18.0);
if (rsil>0 && rsil<=12)rsilnew=-100-(rsil)*(50.0/12.0);

 

я вам своим постом сразу написал про это

а лучше прибейте тему.

обсосана давно.

 
Vladon:

а почему он вернул целое число?

все отлично добавил .0 n.t. 50.0 поделил на 20.0 и все заработало

Старая фишка C-подобных языков. Просто вычисления проводится как для целых чисел - т.к. аргументы операций целочисленные.

Я всегда проверяю тип первой переменной в выражении. И внутри скобок тоже!

 
sergeev:

я вам своим постом сразу написал про это

а лучше прибейте тему.

обсосана давно.

И будет обсасываться, и обсасываться и обсасываться... :)

Насчёт прибить, не побоюсь высказать противоположное мнение:

Тема эта актуально именно для новичков, а т.к. правильных кейвордов они не знают (иначе знали бы решение) - то ищут почему придётся. Чем больше тем с разными модификациями описания проблемы - тем больше шансов, что он найдёт решение тупо поиском и не будет создавать новую. Так что я, имхо, за сохранение темы на форуме - пускай сама постепенно опустится вниз...

 
Для новичков актуально почитать учебник. Там ЭТО есть.
 
покажите пальцем мне, как новичку :-)
 

Vladon, странно, что именно для Вас эта проблема обнаружилась только сейчас. Вы это давно должны были знать.

А вот я узнал о такой возможности еще когда FORTRAN изучал на первом курсе...

 
Svinozavr:
Для новичков актуально почитать учебник. Там ЭТО есть.
Ты просто слишком крут. Я скорее присоединюсь к мнению Azzx об актуальности темы. Очень распространенная ошибка.
 

Всегда считал, что это не правильно. Делением целых должен быть результат DOUBLE. Потом пользователь-программист сам пусть решает, что с этим делать.

Но вот, почему-то, приняли другой стандарт. И все ему следуют.

 
Vladon:
покажите пальцем мне, как новичку :-)
Приведение типов
Причина обращения: