Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
14-02-2006 07:55 | Комментарий к предыдущим ответам
По правилам округления, 5 округляется до четного числа.
Вообще-то меня с детства учили, что 5 надо округлять в большую сторону.
Видимо, разные школы. Или успеваемость по математике? :-)
Даже Borland называет округление до четного числа "Banker’s Rounding", а округление в большую сторону - "Simple".
13-02-2006 05:25 | Комментарий к предыдущим ответам
Мужики, ну вы меня удивляете!
При чем тут вещественные числа, FPU, SetRoundMode, Set8087CW и прочая дребедень? Round всегда округлит 0.5 до 0, независимо от режима округления. Никаких чудес здесь нет, в хелпе четко сказано, что "Round returns ... always the even number. This method of rounding is often called "Banker’s Rounding".
А если вы не в банке работаете, то пользуйтесь функцией SimpleRoundTo или свою напишите, например, как Noskov.
The following functions allow you to control the behavior of the FPU. With
them you can control what constutes an FPU exception, what the default
precision is used and finally how rounding is handled by the FPU.
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.