Как ни странно, я не могу найти, как чисто преобразовать float
в int
.Как преобразовать float в int в современном C++
Этот метод
int int_value = (int)(float_value + 0.5);
запускает
warning: use of old-style cast
в НКУ.
Итак, что такое современный стиль, простой способ преобразования float
в int
? (Я согласен с потерей точности, конечно)
Самый современный способ - 'std :: round'. – chris
Что делает 'int int_value = float_value + .5f;' do? Подсказка: 0.5 - это двойной. –
@chris 'round' вернет поплавок. Вы можете называть 'lround', но это возвращает длинный, а не int. О, теперь я вижу, что вы говорите только о закругленной части, а не о кастинге. Это научит меня читать весь вопрос, прежде чем комментировать :-) – Praetorian