Biblioteca C ++ ios - Función fija

Descripción

Se utiliza para establecer el indicador de formato de campo flotante para el flujo str en fijo. Cuando floatfield se establece en fijo, los valores de coma flotante se escriben usando notación de coma fija: el valor se representa con exactamente tantos dígitos en la parte decimal como lo especifica el campo de precisión (precisión) y sin parte de exponente.

C ++ 98

La bandera de formato de campo flotante es a la vez selectiva y alterna: puede tomar uno, ambos o ninguno de los siguientes valores, como se muestra a continuación:

Valor de la bandera Efecto cuando se establece
fijo escribir valores de punto flotante en notación de punto fijo
científico escribir valores de punto flotante en notación científica.
(ninguna) escribir valores de punto flotante en notación de punto flotante predeterminada.

C ++ 11

La bandera de formato de campo flotante es tanto selectiva como de alternancia: puede tomar cualquiera de los siguientes valores, o ninguno, como se muestra a continuación:

Valor de la bandera Efecto cuando se establece
fijo escribir valores de coma flotante en notación de coma fija.
científico escribir valores de punto flotante en notación científica.
hexfloat

escribir valores de coma flotante en formato hexadecimal.

El valor de esto es el mismo que (fixed|scientific)

flotar por defecto escribir valores de punto flotante en notación de punto flotante predeterminada. Este es el valor por defecto (igual que ninguno, antes que cualquier otroFloatfield bit está establecido).

Declaración

A continuación se muestra la declaración de std :: fixed function.

ios_base& fixed (ios_base& str);

Parámetros

str - Objeto de flujo cuya bandera de formato se ve afectada.

Valor devuelto

Devuelve Argument str.

Excepciones

Basic guarantee - si se lanza una excepción, str está en un estado válido.

Carreras de datos

Modifica str. El acceso simultáneo al mismo objeto de flujo puede provocar carreras de datos.

Ejemplo

En el siguiente ejemplo se explica la función std :: fixed.

#include <iostream>     

int main () {
   double a = 3.1415926534;
   double b = 2006.0;
   double c = 1.0e-10;

   std::cout.precision(5);

   std::cout << "default:\n";
   std::cout << a << '\n' << b << '\n' << c << '\n';

   std::cout << '\n';

   std::cout << "fixed:\n" << std::fixed;
   std::cout << a << '\n' << b << '\n' << c << '\n';

   std::cout << '\n';

   std::cout << "scientific:\n" << std::scientific;
   std::cout << a << '\n' << b << '\n' << c << '\n';
   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

default:
3.1416
2006
1e-010

fixed:
3.14159
2006.00000
0.00000

scientific:
3.14159e+000
2.00600e+003
1.00000e-010