floor(-3.4)=-4<br>в общем тут оба способа верные, просто у Вьюн-а короче конструкция, мне оно в голову не пришло. Ключевое место в конструкции - смещение значения на 0.5, что и для отрицательных и для положительных чисел приводит значение в окрестность требуемого результата меньшую нежели 0.5, далее он применяет округление и получает при этом результат. Важно то, что он проверяет является ли число целым и если это так, то сразу получает его же в качестве результата и не применяет к нему алгоритм смещения в окрестность, поэтому же не возникает вопроса о том куда округлять 1.5 (до 1 или до 2)