Перейти до основного контенту

Копвертування десяткового числа до 1 знака після крапки на C++

7 хв читання
1826 переглядів

У мові програмування 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.45.5
Віднімання5.6 - 3.22.4
Множення2.5 * 3.28.0
Ділення6.3 / 2.13.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);

2026 Notatka. Всі права захищені.