Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в C++ округлить число до целого, чтобы его можно было записать в переменную типа int?

1 2 Знаток (430), закрыт 15 лет назад
Лучший ответ
Krab Вark Оракул (56992) 15 лет назад
int a=b+.5;
Число при присваивании автоматически приводится к целому, дробная часть отбрасывается. В выражении можно использовать явное приведение типа (int)(b+.5)
Остальные ответы
1 1 Мастер (2175) 15 лет назад
static_cast<<type>>(<value>);

double d=5.5;
int i = static_cast<<int>>(d);
Κότ μάτρόϛκϰΗ Просветленный (21386) 15 лет назад
double a = 452.554
int b;

b = a;
автоматическое приведение типов. В b попадет значение a без дробной части. Но компилятор может выдавать предупреждение о возможной потери данных

b = (int)a;
b = static_cast<int>(a);
тоже самое, что и выше, но предупреждений со стороны компилятора не будет.

#include <math.h>

double c;
c = floor(a); // округление вниз до ближайшего целого
c = ceil(a); // округление вверх до ближайшего целого
При этом результат все равно останется типа с плавающей точкой, который можно привести к целому типу, как выше

Похожие вопросы