Как правильно выполняется округление чисел в C++?



Автор Иван Дробышев задал вопрос в разделе Другие языки и технологии

Округление в с++? и получил лучший ответ

Ответ от ?????? Зелёный змий ??????[гуру]
Для округления чисел в C++ удобнее всего использовать функции из стандартной библиотеки, подключив заголовок math.h или cmath. Если нужно округлить до ближайшего меньшего целого, применяется функция floor. Например, floor(2.8) вернет 2.0. Для округления до ближайшего большего целого используется функция ceil. В этом случае ceil(2.8) даст результат 3.0. Если требуется классическое математическое округление до ближайшего целого числа, лучше всего подходит функция round, доступная в современных стандартах C++. Она округляет 2.5 до 3.0, а 2.4 до 2.0. Реализовывать округление вручную через вычитание целой части и умножение на степени десятки не рекомендуется, так как стандартные функции работают надежнее и избавляют от ошибок с плавающей точкой. Для получения целочисленного результата значение после вызова функции можно явно привести к типу int.

Ответ от Никита Моисеев[гуру]
double x; double delta = x-(long)x; double tmp = ((long)(delta*1e+4))/10; delta = tmp - (long)tmp; if (delta >= 0.5 ) tmp += 1; x = (long)x+((long)tmp)*1e-3; P.S. выглядит не очень, но скорее всего работает

Ответ от Константин Лемешев[гуру]
Читай тут:
ссылка
То: Никита Моисеев
Месье знает толк в извращениях. Работоспособность не пр

Ответ от ВикиВопрос[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Округление в с++?

Паскаль. Есть дробь, например 12,15 - нужно выделить целую часть в паскале.
Чтобы выделить целую часть дробного числа в Паскале, используйте встроенные функции Trunc или Int,
подробнее...

Какое логическое значение имеют фигурные и квадратные скобки в математике?
В математике фигурные и квадратные скобки имеют несколько значений. В выражениях они помогают
подробнее...

EXCEL. Как увеличить / уменьшить цены в столбце на определённый процент? Например изменить цены в столбце на 25%.
Чтобы изменить цены в столбце на определённый процент, используйте функцию специальной вставки с
подробнее...

Как запустить файл в gcc
Для решения показательного уравнения 5^(3x - 1) = 0,2 необходимо привести обе части к одинаковому
подробнее...

что такое хостинг ?
Хостинг — это услуга по предоставлению места и вычислительных мощностей на сервере для постоянного
подробнее...
Округление на Википедии
Посмотрите статью на википедии про Округление
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*