Здравствуйте Рек, Вы писали:
Рек>Здравствуйте Patachu[KS], Вы писали:
Рек>>>Почти всё хорошо, но...
Рек>>>для -0.5 по правилам округления должно получиться 0.0
Рек>>>("0.5" округляется в бОльшую сторону), а по твоей формуле получается -1.0.
P[KS]>>А вот и не так. Должно получиться именно -1.0.
P[KS]>>Округляется модуль числа.
Рек>Нет.
Рек>Ты бы подумал, перед тем как такое писать!
Рек>Ведь это же дети могут прочитать! Они же двоек понахватают начитавшись такого!
Рек>(особенно беспокоюсь за четверокласников — у них сейчас именно эта тема!
Рек>Хорошо, что они ещё не знают, что такое модуль и конечно заподозрят неладное...)
Рек>Дети, не слушайте этого дядю.
Рек>Запомните правила округления чисел:
Рек>Если дробная часть числа больше или равна 0.5, то округляйте в бОльшую сторону,
Рек>если дробная часть числа меньше 0.5, то округляйте в мЕньшую.
Рек>
Следуя твоим правилам округления получаем round(-x) != -round(x), хотя функция round() по идее должна быть нечетной. Почему такая особенность для отрицательных чисел.
Например: Показываем в StatusBare координаты round(x), round(y) и видим
что при движении мыши влево и вправо от 0. мышка проходит одинаковый путь в пикселах, а в StatusBare не одинаковый. Нехорошо!