Дядя Богдан, ну просто приведи к инту var floored = (int) Math.Floor(1.999);
И это не криво. Так всё и должно быть.
Не int, тк эта функция очень тонкая и буквально вызывает какую-то инструкцию для округления на уровне процессора, которая как результат отдаёт double или float
А приведение double к int не бесплатное.