В стандартном C ++ форматирование выполняется с помощью определенных переменных, манипуляторов, объектов и т. Д., Которые находятся в выходном потоке (cout) класса по умолчанию ostream. В основном существует только два типа манипуляторов с плавающей запятой, знаменитые the фиксированная нотация с плавающей запятой и научная нотация с плавающей запятой, которая известна своей связью с 'e' (поясняется ниже). Все они определены в широко используемой библиотеке заголовков ‹iostream›.

Зачем устанавливать precision ()?

Основное использование функции precision () в стандартных обозначениях с плавающей запятой состоит в том, что она указывает наивысшее число.

должны отображаться значащие цифры, включая все цифры числа, независимо от того, присутствует ли оно до или после десятичной точки, тогда как в фиксированной и экспоненциальной нотации функция точности определяет точное количество цифр, которые должны отображаться после десятичной точки. десятичная точка.

Теперь давайте разберемся со всеми обозначениями с плавающей запятой, которые можно использовать с функцией precision (). Они следующие: -

1. Обозначение с плавающей запятой (std :: fixed):

Здесь мы записываем значения с плавающей запятой в фиксированной записи. Конечное значение отображается с точно таким количеством цифр после десятичной части, которое было задано в качестве параметра в точности (x), здесь x. В этом случае мы не учитываем экспоненциальную часть.

Код: #include <iostream>

using namespace std;

int main()

{

// Initializing

double a = 4.223234232;

double b = 2323.0;

//Giving precision parameter

cout.precision(4);

// Printing normal values

cout << "Normal values of floating point numbers\na = ";

cout << a << "\nb = " << b << '\n' ;

// Printing values using fixed ( till 4 )

cout << "Values using fixed \n" << std::fixed;

cout << a << "\n" << b << '\n' ;

return 0;

}

Выход:

Нормальные значения чисел с плавающей запятой
a = 4,223
b = 2323
Значения с фиксированным
4,2232
2323,0000

2. научная нотация с плавающей запятой (std :: scientific):

В этом случае значения с плавающей запятой отображаются в экспоненциальном представлении. Как и в любом научном значении, перед десятичной частью стоит только одна цифра, а после десятичной точки количество цифр такое же, как число, указанное в качестве параметра в setprecision (x Это обозначение имеет особую часть (как я уже упоминал выше), оно всегда включает в себя экспоненциальную часть e, за которой следует необязательный знак и три экспоненциальных числа.

Код:

#include <iostream>

using namespace std;

int main()

{

// Initializing floating point variable

double a = 4.223234232;

double b = 2323.0;

// Specifying precision

cout.precision(4);

// Printing normal values

cout << "Normal values of floating point numbers\na = ";

cout << a << "\nb = " << b << '\n' ;

// Printing values using scientific ( till 4 )

// after 4, exponent is used

cout << "Values using scientific are : " << std::scientific << endl;

cout << a << '\n' << b << '\n' ;

return 0;

}

Выход :

Normal values of floating point numbers
a = 4.223
b = 2323
Values using scientific are : 
4.2232e+00
2.3230e+03

3. Нотация с плавающей запятой Hexfloat (std :: hexfloat):

Он отображает желаемое число после преобразования в шестнадцатеричную форму после передачи параметра точности (x).

Код;

#include <iostream>

using namespace std;

int main()

{

// Initializing floating point variable

double a = 4.223234232;

double b = 2323.0;

// Specifying precision

cout.precision(4);

// Printing normal values

cout << "Normal values of floating point numbers\na = ";

cout << a << "\nb = " << b << '\n' ;

// Printing values using hexfloat ( till 4 )

cout << "Values using hexfloat are : " << std::hexfloat << endl;

cout << a << '\n' << b << '\n' ;

return 0;

}

Выход:

Normal values of floating point numbers
a = 4.223
b = 2323
Values using hexfloat are : 
0x1.0e49783b72695p+2
0x1.226p+11

4. Обозначение с плавающей запятой по умолчанию (std :: default float):

После определения точности (x) он отображает желаемую цифру так же, как по умолчанию. Этот в основном используется, чтобы различать другие используемые форматы для лучшего суждения о коде.

Код:

#include <iostream>

using namespace std;

int main()

{

// Initializing floating point variable

double a = 4.223234232;

double b = 2323.0;

// Specifying precision

cout.precision(4);

// Printing normal values

cout << "Normal values of floating point numbers\na = ";

cout << a << "\nb = " << b << '\n' ;

// Printing values using defaultfloat ( till 4 )

// same as normal

cout << "Values using defaultfloat are : " << std::defaultfloat << endl;

cout << a << '\n' << b << '\n' ;

return 0;

}

Выход

Values using fixed 
4.2232
2323.0000
Values using defaultfloat are : 
4.223
2323

Надеюсь, вы поняли основное определение нотаций с плавающей запятой, которые используются с точностью, и теперь будете использовать их с большей уверенностью.