Libreria ios C ++ - Funzione fissa

Descrizione

Viene utilizzato per impostare il flag del formato floatfield per il flusso str su fixed. Quando floatfield è impostato su fixed, i valori a virgola mobile vengono scritti utilizzando la notazione a virgola fissa: il valore è rappresentato esattamente con tante cifre nella parte decimale come specificato dal campo di precisione (precisione) e senza parte esponente.

C ++ 98

Il flag del formato floatfield è sia selettivo che di attivazione / disattivazione: può accettare uno, entrambi o nessuno dei seguenti valori come mostrato di seguito:

Valore flag Effetto quando impostato
fisso scrivere valori a virgola mobile in notazione a virgola fissa
scientifico scrivere valori in virgola mobile in notazione scientifica.
(nessuna) scrivere valori a virgola mobile nella notazione a virgola mobile predefinita.

C ++ 11

Il flag del formato floatfield è sia un flag selettivo che un flag di attivazione / disattivazione: può assumere uno dei seguenti valori o nessuno come mostrato di seguito:

Valore flag Effetto quando impostato
fisso scrivere valori a virgola mobile in notazione a virgola fissa.
scientifico scrivere valori in virgola mobile in notazione scientifica.
hexfloat

scrivere valori in virgola mobile in formato esadecimale.

Il valore di questo è lo stesso di (fixed|scientific)

defaultfloat scrivere valori a virgola mobile nella notazione a virgola mobile predefinita. Questo è il valore predefinito (uguale a nessuno, prima di qualsiasi altrofloatfield bit è impostato).

Dichiarazione

La seguente è la dichiarazione per std :: fixed function.

ios_base& fixed (ios_base& str);

Parametri

str - Oggetto flusso il cui flag di formato è interessato.

Valore di ritorno

Restituisce Argument str.

Eccezioni

Basic guarantee - se viene generata un'eccezione, str è in uno stato valido.

Gare di dati

Modifica str. L'accesso simultaneo allo stesso oggetto flusso può causare gare di dati.

Esempio

Nell'esempio seguente viene spiegato la funzione 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;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

default:
3.1416
2006
1e-010

fixed:
3.14159
2006.00000
0.00000

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