Libreria ios C ++ - Funzione scientifica
Descrizione
Viene utilizzato per impostare il flag del formato floatfield per il flusso str su scientifico. Quando floatfield è impostato su scientifico, i valori in virgola mobile vengono scritti utilizzando la notazione scientifica: il valore è rappresentato sempre con una sola cifra prima del punto decimale, seguito dal punto decimale e tante cifre decimali quante sono il campo di precisione (precisione). Infine, questa notazione include sempre una parte esponenziale costituita dalla lettera e seguita da un segno opzionale e tre cifre esponenziali.
C ++ 98
Il flag del formato floatfield è sia selettivo che toggle: può assumere uno o più dei seguenti valori come mostrato di seguito:
valore della bandiera | 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 della bandiera | 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 |
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
Di seguito è riportata la dichiarazione per la funzione std :: scientific.
ios_base& scientific (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 :: scientific.
#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