Показать сообщение отдельно
Старый 06.07.2010, 00:30   #9
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Еще как в школе учился допустил ту же ошибку, пару дней не мог понять в чем дело. Инета в те времена у меня не было, пришлось своей головой думать. Благо нашел книжку по ассемблеру и глянул как работает операция деления. Сейчас то, все намного проще: неявное преобразование данных защищает от подобного.

Собственно ответ который нужен автору темы: операция деления ВСЕГДА возвращает число с плавающей точкой.

Не имеет значения какой предполагается результат, даже если 4/2 ответом будет 2.0
В вашем случаи для деления можно использовать операцию div, можно исользовать функции Round или Trunc. Может и еще как-то можно, но я не программист и мне в жизни хватает и этих

А еще историческая справка (для общего развития): этот фактор когда-то использовали (во времена турбо паскаля 1.0) для преобразования целого числа в число с плавающей точкой. Так как компилятор считал ошибкой запись (если r:real, а z:integer) r:=z; и надо было писать r:=z/1;
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber

Последний раз редактировалось J-Fobos, 06.07.2010 в 00:35.
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от: