У мові програмування C++ є кілька способів вивести десяткове число з потрібною точністю. У даній статті ми розглянемо один з них, а саме, використання функції std::setprecision зі стандартної бібліотеки .
Наприклад, щоб вивести число 3.14159 з точністю до 1 цифри після коми, ми можемо написати наступний код:
Після виконання даного коду на екран буде виведено число 3.1, оскільки ми вказали точність до 1 цифри після коми. Якщо ж ми хочемо вивести число з більшою точністю, наприклад, з точністю до 3 цифр після коми, ми можемо передати в функцію std::setprecision значення 3: std::setprecision(3).
Нижче наведено приклад коду, який демонструє використання цих функцій:
В результаті виконання цього коду буде виведено число 3.1.
Наприклад, якщо число дорівнює 3.1415, і точність встановлена на 2 цифри після коми, то число буде відображено як 3.14. Якщо точність встановлена на 5 цифр, то буде виведено повне число 3.1415.
Таким чином, функції std::fixed і std::setprecision дозволяють контролювати відображення десяткових чисел в C++.
Поняття десяткового числа
Наприклад, в числі 123,3 десяткова система числення представляє наступні позиції і ваги:
- 1-розряд сотень (10 в ступені 2)
- 2-розряд десятків (10 в ступені 1)
- 3-розряд одиниць (10 в ступені 0)
- 3-розряд десятих (10 в ступені -1)
Таким чином, число 123,3 являє собою суму добутків цифр числа на їх ваги:
1 * 10^2 + 2 * 10^1 + 3 * 10^0 + 3 * 10^(-1) = 100 + 20 + 3 + 0,3 = 123,3
Десяткові числа широко використовуються в повсякденному житті для представлення дробових значень, грошових сум, і т. д.
Десяткове число: визначення та особливості
Десяткові числа, також відомі як числа з плаваючою комою, - це числа, які можуть містити десяткові дроби. Вони дозволяють представляти числа з дуже великими або дуже малими значеннями з точністю до однієї цифри.
#include #include int main()
Цей код виведе число 3.1, де точність після коми становить одну цифру.
Особливістю роботи з десятковими числами в C++ є те, що вони можуть втратити точність через обмеження представлення чисел з плаваючою комою в пам'яті комп'ютера. Тому при виконанні операцій над десятковими числами, особливо при діленні і множенні, можуть виникати округлення і втрата точності.
Для зменшення втрати точності при роботі з десятковими числами в C++ рекомендується використовувати тип даних long double, який представляє числа з більшою точністю, але вимагає більше пам'яті.
| Операція | Приклад | Результат |
|---|---|---|
| Складання | 3.1 + 2.4 | 5.5 |
| Віднімання | 5.6 - 3.2 | 2.4 |
| Множення | 2.5 * 3.2 | 8.0 |
| Ділення | 6.3 / 2.1 | 3.0 |
Наприклад, якщо ми хочемо вивести число 3.14159 з точністю до однієї цифри після коми, ми можемо використовувати наступний код:
#include using namespace std;int main()
Число с точностью до 1 цифры после запятой: 3.1
Для використання маніпулятора std::setprecision () потрібно включити файл заголовка iomanip з наступною директивою:
Приклад використання маніпулятора:
В даному прикладі, число буде виведено з точністю до однієї цифри після коми. Якщо потрібно змінити точність на інше значення, досить змінити аргумент функції std:: setprecision().
Округлення числа
Одним із способів округлення числа є використання функції round . Функція round приймає на вхід десяткове число і повертає його округлене значення з точністю до найближчого цілого числа.
Ось приклад використання функції round для округлення числа:
double number = 3.14159;double roundedNumber = round(number);std::cout
Ось приклад використання функції setprecision для округлення числа:
double number = 3.14159;std::cout
Залежно від вимог конкретного завдання, можна вибрати найбільш підходящий спосіб округлення числа з точністю до однієї цифри.
Як округлити десяткове число
Округлення десяткового числа в мові програмування C++ можна виконати за допомогою різних математичних функцій. Нижче наведені приклади використання таких функцій:
| Функція | Опис |
|---|---|
| round() | Округлює число до найближчого цілого значення |
| floor() | Округлює число до найближчого меншого цілого значення |
| ceil() | Округлює число до найближчого більшого цілого значення |
Приклад використання функції round () для округлення десяткового числа:
double number = 3.85;
double roundedNumber = round(number);