Изменить: я удалил часть моего предыдущего ответа. Я заявлял, что при приведении к int слово было избыточным, но я забыл, что это верно только для положительных чисел с плавающей запятой.
ела быfloor
функция с синтаксисом
int floor(double x);
ноstd::floor
возвращаетdouble
, Является
static_cast <int> (std::floor(x));
гарантированно даст мне правильное целое число, или у меня могут возникнуть проблемы с одним человеком? Кажется, это работает, но я хотел бы знать наверняка.
Для бонусных баллов, почему, черт возьми, делаетstd::floor
вернутьdouble
на первом месте?