Округление при подсчёте в С++?

В языке программирования C++ есть несколько способов округления чисел. В этом ответе я расскажу о некоторых наиболее распространенных методах округления.

1. Округление вниз (также известное как отбрасывание дробной части) - это наиболее простой способ округления, который реализуется с помощью функции "floor" из стандартной библиотеки C++. Функция "floor" возвращает наибольшее целое число, которое меньше или равно заданному числу. Например:

#include <iostream>
#include <cmath>

int main() {
    double number = 1.9;
    double rounded_number = floor(number);
    std::cout << rounded_number << std::endl; // Выведет: 1
    return 0;
}

2. Округление вверх (также известное как округление в сторону бесконечности) - это способ округления, который реализуется с помощью функции "ceil" из стандартной библиотеки C++. Функция "ceil" возвращает наименьшее целое число, которое больше или равно заданному числу. Например:

#include <iostream>
#include <cmath>

int main() {
    double number = 1.1;
    double rounded_number = ceil(number);
    std::cout << rounded_number << std::endl; // Выведет: 2
    return 0;
}

3. Округление до ближайшего целого числа (также известное как стандартное математическое округление) - это способ округления, который реализуется с помощью функции "round" из стандартной библиотеки C++. Функция "round" возвращает ближайшее целое число к заданному числу. Например:

#include <iostream>
#include <cmath>

int main() {
    double number = 1.5;
    double rounded_number = round(number);
    std::cout << rounded_number << std::endl; // Выведет: 2
    return 0;
}

4. Округление к нулю - это способ округления, при котором дробная часть отбрасывается без учета значения числа. Для этого можно использовать тип данных "int" и явное приведение типов. Например:

#include <iostream>

int main() {
    double number = 1.9;
    int rounded_number = static_cast<int>(number);
    std::cout << rounded_number << std::endl; // Выведет: 1
    return 0;
}

Также стоит отметить, что в языке C++ есть возможность округления с использованием библиотеки <iomanip> и функции "setprecision", которая позволяет устанавливать количество знаков после запятой и режим округления. Это может быть полезно при работе с выводом чисел с фиксированной точностью.

В зависимости от требований вашей программы или задачи, вы можете выбрать один из этих методов округления для достижения нужного результата.