Kako uporabljati Setprecision v C++

Kako Uporabljati Setprecision V C



Morda ste se naučili in preučevali vrednosti s plavajočo vejico in znanstveni zapis v matematiki in fiziki. Morda ste se tudi naučili izvajati zaokroževanje števil s plavajočo vejico. Pripomoček setprecision v C++ se pogosto uporablja za spreminjanje zaporedja števil, prikazanih znotraj izhodnega zaporedja celih števil s plavajočo vejico. Deluje enako kot funkcija zaokroževanja. Ta metoda je definirana v standardni knjižnici . V tej vadnici vam bomo pokazali, kako uporabljati funkcijo 'setprecision' C++. Torej, začnimo. Za delo na njej moramo zagnati aplikacijo lupine Ubuntu prek »Ctrl+Alt+T«. Inicializirati moramo namestitev prevajalnika C++, ki je v našem primeru g++. Tako bo paket apt doslej uporabljen za ta namen. Sistem bo g++ namestil v samo nekaj sekundah: $ sudo apt namestite g++

Primer 01:

Torej smo odprli datoteko »new.cc« z navodili »nano«. Ta datoteka je ustvarjena z uporabo lupinske poizvedbe »dotik«. Datoteka se zdaj zažene v urejevalniku nano kot prazna datoteka. Na vrh smo dodali vhodno-izhodno datoteko glave »iostream«. Knjižnica »iomanip« je bila dodana za uporabo metode setprecision() naše kode. Po tem smo uporabili standardni imenski prostor »std«, da se prepričamo, da uporabljamo standardni način kode in sintakse. Celotna koda je bila izvedena znotraj funkcije main() kode C++. Za ta namen se ne uporablja nobena druga uporabniško definirana funkcija.







Znotraj funkcije main() smo inicializirali spremenljivko dvojnega tipa »v« z dvojno vrednostjo. Prvi standardni stavek »cout« prikaže dejansko vrednost dvojne spremenljivke »v« na lupini brez posodobitve. Po tem smo uporabili 8 stavkov cout za uporabo metode setprecision() v vsakem. To pomeni, da vsakič uporabite setprecision() za vsako plavajočo vejico spremenljivke »v«. Zavedati se morate, da setprecision deluje samo na vrednosti, ki je večja ali enaka 5. Če je vrednost s plavajočo vejico večja od 5, bo povečala vrednost pred njo.



Na primer, setprecision() pri 1. plavajoči vejici bo za piko zaokrožil »5«, vrednost »4« pa bo pretvorjena v 5. Podobno 2. vrednosti plavajoče vejice »2« ni mogoče zaokrožiti, 3. vrednost s plavajočo vejico »7« bo pretvorila vrednost »2« v »3«, 4. vrednost s plavajočo vejico »4« ni mogoče zaokrožiti, 5. vrednost s plavajočo vejico »9« pa bo pretvorila vrednost »4 ” do 5 pred njim. Pri točki »0« bo vrednost »4« pretvorjena v 5. Negativni setprecision() ne naredi ničesar, razen prikaže celotno dejansko vrednost. Vse vrednosti v plavajoči vejici od 0 do 5 in -1, -2 bodo prikazane po uporabi setprecision():







Čas je, da prevedete in zaženete kodo C++ setprecision s poizvedbo za prevajanje g++ in poizvedbo za izvajanje »./a.out«. Izhod pokaže, da prvi setprecision(1) pretvori 4 v 5. Setprecision(2) ni naredil ničesar in prikaže »4,5«. Setprecision(3) je povečal vrednost iz '4,52' na '4,53'. Setprecision(4) ne vpliva na vrednost '4,527'. Setprecision(5) poveča vrednost iz “4,5274” na “4,5275”. Setprecision(0) je povečal vrednost na 5. Setprecision(-1) in setprecision(-2) nista naredila ničesar, kot je prikazano spodaj:

$ g++ novo.cc

$. / a.out



Primer 02:

Oglejmo si še en primer. Koda je podobna zgornjemu primeru, le s spremembo stavkov cout. Prvi cout prikazuje izvirne vrednosti, medtem ko naslednja dva prikazujeta rezultat metode setprecision() pri plavajoči vejici 1 in 5. Zadnji cout prikazuje rezultat metode setprecision() pri plavajoči vejici 9, ki fizično ni na voljo. Rezultati s plavajočo vejico 1 in 5 so povsem pričakovani, o plavajoči vejici 9 pa ne moremo reči ničesar. Samo izvedimo datoteko in preverimo, kaj bo rezultat te kode:

#include

#include

uporabo imenski prostor std ;

int glavni ( ) {

dvojno v = 4,52749 ;

cout << 'Vrednost pred nastavitvijo natančnosti: ' << v << ' \n ' ;

cout << setprecision ( 1 ) << 'Val pri 1:' << v << ' \n ' ;

cout << setprecision ( 5 ) << 'Val ob 5:' << v << ' \n ' ;

cout << setprecision ( 9 ) << 'Val ob 9:' << v << ' \n ' ;

vrnitev 0 ;

}

Po prevajanju in izvedbi te kode imamo očitne rezultate za setprecision na lokacijah 1 in 3 vrednosti s plavajočo vejico »4,52749«. Rezultat setprecision 9 prikazuje dejansko vrednost dvojne spremenljivke »v«. To je lahko posledica dejstva, da vrednost za lokacijo 9 ni fiksna:

$ g++ novo.cc

$. / a.out

Znova posodobimo kodo, da popravimo vrednosti spremenljivke »v«. Torej, po prvem stavku setprecision() cout, uporabljenem na 1. mestu spremenljivke, smo uporabili fiksno spremenljivko v cout:

#include

#include

uporabo imenski prostor std ;

int glavni ( ) {

dvojno v = 4,52749 ;

cout << 'Vrednost pred nastavitvijo natančnosti: ' << v << ' \n ' ;

cout << setprecision ( 1 ) << 'Val pri 1:' << v << ' \n ' ;

cout << fiksno ;

cout << setprecision ( 5 ) << 'Val ob 5:' << v << ' \n ' ;

cout << setprecision ( 9 ) << 'Val ob 9:' << v << ' \n ' ;

vrnitev 0 ;

}

Po prevajanju in izvajanju te posodobljene kode imamo fiksen rezultat funkcije setprecision na mestu 9 spremenljivke »v«, tj. 4,527490000:

$ g++ novo.cc

$. / a.out

Zaključek:

Končno je šlo za uporabo metode setprecision() v kodi C++ za zaokroževanje in prikaz vrednosti dvojne spremenljivke. Razložili smo tudi fiksne spremenljivke v kodi in njihove prednosti. Poleg tega smo implementirali dva pomembna primera za razlago koncepta natančnosti nastavitev v C++. Upamo, da vam je bil ta članek v pomoč. Oglejte si druge članke o Linux Hint za več nasvetov in vadnic.