Плавающее в целочисленное преобразование

Я хочу взять значение из моего ползунка и, не округляя, обрезать десятичные дроби. Так что, если у меня есть значение с плавающей запятой 10,973. Я хочу, чтобы оно было целым числом 10. Я не использую отрицательные значения, но если значение ползунка находится в диапазоне от 0 до 1, скорее, оно округляется вверх. Как бы я сделал заявление, сделав следующее?

3 ответа

Решение

Вы должны использовать:

f = (int)floorf(x);

floorf Однако будет округлять до нижнего целого числа, так -2.79 приведет к -3,

Простое целочисленное приведение будет работать.

int intVal = (int)floatVal;

Простое приведение к целому числу должно сделать:

int i = int(f)

Если f равно 10,973, я буду 10. Если f равно -10,973, я буду -10. Приведение к int просто усекает десятичную часть.

Другие вопросы по тегам