logo

Precisión de configuración del manipulador C++

Precisión de configuración del manipulador C++ La función se utiliza para controlar el número de dígitos de una visualización de flujo de salida de un valor de punto flotante.

Este manipulador se declara en el archivo de encabezado.

rj12 frente a rj11

Sintaxis

 /*unspecified*/ setprecision (int n); 

Parámetro

norte : nuevo valor para la precisión decimal.

Valor de retorno

Esta función devuelve un objeto de tipo no especificado. La función setbase solo debe usarse como manipulador de flujo.

Carreras de datos

El objeto de flujo en el que se inserta o extrae se modifica y el acceso simultáneo al mismo objeto de flujo puede introducir carreras de datos.

Excepciones

El objeto está en un estado válido, si se produce alguna excepción.

Ejemplo 1

Veamos el ejemplo simple para demostrar el uso de setprecision:

 #include // std::cout, std::fixed #include // std::setprecision using namespace std; int main () { double f =3.14159; cout << setprecision(5) << f << '
'; cout << setprecision(9) << f << '
'; cout << fixed; cout << setprecision(5) << f << '
'; cout << setprecision(9) << f << '
'; return 0; } 

Producción:

 3.1416 3.14159 3.14159 3.141590000 

Ejemplo 2

Veamos otro ejemplo sencillo:

 #include #include #include #include using namespace std; int main() { const long double pi = acos(-1.L); cout << 'default precision (6): ' << pi << '
' << 'setprecision(10): ' << setprecision(10) << pi << '
' << 'max precision:' << setprecision(numeric_limits::digits10 + 1) << pi << '
'; return 0; } 

Producción:

 default precision (6): 3.14159 setprecision(10): 3.141592654 max precision:3.141592653589793239 

Ejemplo 3

Veamos otro ejemplo sencillo:

 #include #include using namespace std; int main (void) { float a,b,c; a = 5; b = 3; c = a/b; cout << setprecision (1) << c << endl; cout << setprecision (2) << c << endl; cout << setprecision (3) << c << endl; cout << setprecision (4) << c << endl; cout << setprecision (5) << c << endl; cout << setprecision (6) << c << endl; return 0; } 

Producción:

 2 1.7 1.67 1.667 1.6667 1.66667