Come utilizzare Setprecision in C++

Come Utilizzare Setprecision In C



Potresti aver imparato e studiato i valori in virgola mobile e la notazione scientifica in matematica e fisica. Potresti anche aver imparato ad eseguire l'arrotondamento sui numeri in virgola mobile. L'utilità setprecision in C++ viene spesso utilizzata per modificare la sequenza di numeri visualizzati all'interno di una sequenza di output di numeri interi a virgola mobile. Funziona allo stesso modo della funzionalità di arrotondamento. Questo metodo è definito nella libreria standard . In questo tutorial ti mostreremo come utilizzare la funzione 'setprecision' di C++. Quindi iniziamo. Dobbiamo avviare l'applicazione shell di Ubuntu tramite 'Ctrl+Alt+T' per lavorarci. Dobbiamo inizializzare l'installazione del compilatore C++, che nel nostro caso è g++. Quindi, finora il pacchetto apt verrà utilizzato per questo scopo. Il sistema installerà g++ in pochi secondi: $ sudo adatto installare g++

Esempio 01:

Quindi, abbiamo aperto il file 'new.cc' con l'istruzione 'nano'. Questo file viene creato utilizzando la query 'touch' della shell. Il file viene ora avviato nell'editor nano come file vuoto. Abbiamo aggiunto il file di intestazione input-output “iostream” in alto. La libreria “iomanip” è stata aggiunta per utilizzare il metodo setprecision() del nostro codice. Successivamente, abbiamo utilizzato lo spazio dei nomi standard 'std' per assicurarci di utilizzare il codice e la sintassi standard. Il codice complessivo è stato eseguito all'interno della funzione main() del codice C++. A questo scopo non viene utilizzata nessun'altra funzione definita dall'utente.







All'interno della funzione main(), abbiamo inizializzato una variabile di tipo double “v” con un valore double. La prima istruzione standard 'cout' mostra il valore effettivo della doppia variabile 'v' sulla shell senza alcun aggiornamento. Successivamente, abbiamo utilizzato 8 istruzioni cout per utilizzare in ciascuna il metodo setprecision(). Si tratta di applicare ogni volta setprecision() su ogni virgola mobile della variabile 'v'. È necessario comprendere che setprecision funziona solo sul valore maggiore o uguale a 5. Se il valore in virgola mobile è maggiore di 5, incrementerà il valore precedente.



Ad esempio, setprecision() al primo valore in virgola mobile arrotonderà '5' dopo il punto e il valore '4' verrà convertito in 5. Allo stesso modo, il secondo valore in virgola mobile '2' non può essere arrotondato, il Il 3° valore in virgola mobile “7” convertirà il valore “2” in “3”, il 4° valore in virgola mobile “4” non può essere arrotondato e il 5° valore in virgola mobile “9” convertirà il valore “4” ” a 5 prima. Al punto '0' convertirà il valore '4' in 5. Il valore negativo setprecision() non fa altro che visualizzare l'intero valore effettivo. Tutti i valori in virgola mobile da 0 a 5 e -1, -2 verranno visualizzati dopo aver applicato setprecision():







È il momento di compilare ed eseguire il codice C++ setprecision con la query di compilazione g++ e la query di esecuzione './a.out'. L'output mostra che il primo setprecision(1) converte 4 in 5. setprecision(2) non ha fatto nulla e visualizza '4.5'. Il setprecision(3) ha incrementato il valore da “4.52” a “4.53”. Il setprecision(4) non fa nulla al valore “4.527”. Il setprecision(5) incrementa il valore da “4.5274” a “4.5275”. setprecision(0) ha incrementato il valore a 5. setprecision(-1) e setprecision(-2) non hanno fatto nulla come mostrato di seguito:

$ g++ nuovo.cc

$. / a.out



Esempio 02:

Diamo un’occhiata a un altro esempio. Il codice è simile all'esempio precedente, con solo una modifica nelle istruzioni cout. Il primo cout mostra i valori originali mentre i due successivi mostrano il risultato di setprecision() ai punti mobili 1 e 5. L'ultimo cout mostra il risultato del metodo setprecision() al punto mobile 9, che non è fisicamente disponibile. I risultati 1 e 5 in virgola mobile sono abbastanza attesi, ma non possiamo dire nulla sul 9 in virgola mobile. Eseguiamo semplicemente il file e controlliamo quale sarà l'output di questo codice:

#include

#include

utilizzando spazio dei nomi standard ;

int principale ( ) {

Doppio In = 4.52749 ;

cout << 'Valore prima di precisione impostata: ' << In << ' \N ' ;

cout << setprecision ( 1 ) << 'Val a 1: ' << In << ' \N ' ;

cout << setprecision ( 5 ) << 'Val alle 5: ' << In << ' \N ' ;

cout << setprecision ( 9 ) << 'Val alle 9: ' << In << ' \N ' ;

ritorno 0 ;

}

Dopo la compilazione e l'esecuzione di questo codice, abbiamo i risultati ovvi per setprecision sulle posizioni 1 e 3 del valore in virgola mobile “4.52749”. Il risultato di setprecision 9 mostra il valore effettivo della doppia variabile “v”. Ciò potrebbe essere dovuto al fatto che il valore per la posizione 9 non è fisso:

$ g++ nuovo.cc

$. / a.out

Aggiorniamo nuovamente il codice per correggere i valori di una variabile 'v'. Quindi, dopo la prima istruzione cout setprecision() applicata alla prima posizione della variabile, abbiamo utilizzato la variabile fissa in cout:

#include

#include

utilizzando spazio dei nomi standard ;

int principale ( ) {

Doppio In = 4.52749 ;

cout << 'Valore prima di precisione impostata: ' << In << ' \N ' ;

cout << setprecision ( 1 ) << 'Val a 1: ' << In << ' \N ' ;

cout << fisso ;

cout << setprecision ( 5 ) << 'Val alle 5: ' << In << ' \N ' ;

cout << setprecision ( 9 ) << 'Val alle 9: ' << In << ' \N ' ;

ritorno 0 ;

}

Dopo aver compilato ed eseguito questo codice aggiornato, abbiamo il risultato fisso di setprecision nella posizione 9 di una variabile 'v', ovvero 4.527490000:

$ g++ nuovo.cc

$. / a.out

Conclusione:

Infine, si trattava di utilizzare il metodo setprecision() nel codice C++ per arrotondare e visualizzare il valore di una doppia variabile. Abbiamo anche spiegato le variabili fisse nel codice e i loro vantaggi. Inoltre, abbiamo implementato due importanti esempi per spiegare il concetto di precisione dell'insieme in C++. Ci auguriamo che questo articolo ti sia stato utile. Consulta altri articoli sui suggerimenti su Linux per ulteriori suggerimenti ed esercitazioni.