• dmk © (15.10.18 12:15) [0]
    Всем привет!

    Вам в цикле нужно прибавлять 1.0 к числу, у которого дробная часть равна 0.5?
    Ведь по правилам округления 0.5 = 1.0, а в цикле получается, что Round(X)
    «перепрыгивает» через единицу. 1.5 + 1.0 = Round(2.5) = 3.0 //!!!
    Если, например, рисовать линию, то получается не сплошная линия, а прерывистая.
    Как бы поступили вы?
  • dmk © (15.10.18 12:25) [1]
    Вот тут этот же вопрос, но с картинкой:
    https://gamedev.ru/code/forum/?id=239496
  • dmk © (15.10.18 15:35) [2]
    Вот, что происходит:
    X := Round(12.5); //Получается 12
    Y := Round(13.5); //Получается 14
    Пиксел под номером 13 вылетел.
  • Игорь Шевченко © (15.10.18 22:07) [3]

    > Как бы поступили вы?


    Фень Юаня бы почитал
  • dmk © (16.10.18 15:17) [4]
    Просто через инт сделал. Вопрос закрыт.
  • superb0t © (31.10.18 19:34) [5]

    > dmk ©


    ты просто вникни в то как  Round() округлает. Эта функция округляет по правилам банковскому правилу, найди и прочитай http://www.delphibasics.ru/Round.php, если нужно отделить целое от дробного используй Trunc()
Есть новые Нет новых   [119324   +10][b:0][p:0]