Ввод вещественных чисел
Ввести несколько вещественных переменных из входного потока и записать их в переменные можно стандартным способом:
double x, y;
cin >> x >> y;
Первое число попадает в переменную
x
, второе - в
y
.
Вывод вещественных чисел
По умолчанию cout
в C++ выводит 6 знаков после запятой для вещественных чисел. Это означает, что если не указано иное, то вещественное число будет выведено с точностью до 6 знаков. Если в числе меньше цифр после запятой, то недостающие знаки будут заменены нулями. Если же число содержит больше цифр после запятой, то оно будет округлено до 6 знаков.
Если не указать явно точность вывода с помощью функции setprecision
или используя флаг fixed
, то число будет выведено с этой точностью. Например, число 81220.545
округляется до 81220.5
, т.к. последний знак "5" в пятом десятичной разряде (6-я цифра).
Формат вывода можно настроить. Для этого используется дополнительная библиотека
iomanip
- манипуляторы, управляющие выводом.
Для вывода в формате с фиксированной точкой используется манипулятор
fixed
, для научного формата -
scientific
. Затем необходимо определить количество цифр в дробной части с помощью манипулятора
setprecision()
. С помощью манипулятора
setw()
можно задать общее число позиций, отводимых на вывод числа.
Пример
#include<iomanip>
...
double x = 1.0/6;
// установили вывести 9 цифр в дробной части
cout << fixed << setprecision (9);
cout << setw(12) << x << endl;
Фрагмент программы выведет
_0.166666672
Все команды можно записать и в одну строчку:
cout << fixed << setprecision(9) << setw(12) << x << endl;
При выводе значений вещественных чисел можно использовать только fixed
без setprecision
в cout
. Это позволит вывести вещественное число с фиксированной точкой, используя стандартное значение точности, которое по умолчанию равно 6.
cout << fixed << x << endl;