Slik bruker du Setprecision i C++

Slik Bruker Du Setprecision I C



Du har kanskje lært og studert flytepunktverdiene og den vitenskapelige notasjonen i matematikk og fysikk. Du har kanskje også lært å utføre avrunding på flyttall. Setprecision-verktøyet i C++ brukes ofte til å endre sekvensen av tall som vises i en flytende heltallsutdatasekvens. Det fungerer på samme måte som avrundingsfunksjonen. Denne metoden er definert i standardbiblioteket. I denne opplæringen viser vi deg hvordan du bruker C++s 'setprecision'-funksjon. Så la oss komme i gang. Vi må starte Ubuntu-skallapplikasjonen gjennom 'Ctrl+Alt+T' for å jobbe med den. Vi må initialisere installasjonen av C++-kompilatoren, som er g++ i vårt tilfelle. Så apt-pakken vil bli brukt til dette formålet så langt. Systemet vil installere g++ på bare noen få sekunder: $ sudo apt installere g++

Eksempel 01:

Så vi har åpnet 'new.cc'-filen med 'nano'-instruksjoner. Denne filen er opprettet ved å bruke skallets 'touch'-spørring. Filen er nå lansert i nano-editoren som en tom fil. Vi har lagt til input-output 'iostream'-headerfilen øverst. 'iomanip'-biblioteket er lagt til for å bruke vår kodes setprecision()-metode. Etter dette brukte vi standard navneområdet 'std' for å sikre at vi brukte standardmåten for kode og syntaks. Den overordnede koden er utført innenfor hoved()-funksjonen til C++-koden. Ingen annen brukerdefinert funksjon brukes til dette formålet.







Innenfor main()-funksjonen har vi initialisert en dobbel type variabel 'v' med en dobbel verdi. Den første 'cout'-standardsetningen viser den faktiske doble variabelverdien 'v' på skallet uten noen oppdatering. Etter dette har vi brukt 8 cout-setninger for å bruke setprecision()-metoden i hver. Dette er for å bruke setprecision() på 'v'-variabelens hvert flytende punkt hver gang. Du må forstå at innstillingspresisjonen bare fungerer på verdien større enn eller lik 5. Hvis flyttallverdien er større enn 5, vil den øke verdien før den.



For eksempel vil setprecision() ved 1. flyttall runde av '5' etter punktet, og verdien '4' vil bli konvertert til 5. På samme måte kan ikke den andre flyttallverdien '2' rundes av, 3. flyttallverdi '7' vil konvertere verdien '2' til '3', den 4. flyttallverdien '4' kan ikke rundes av, og den 5. flyttallverdien '9' vil konvertere verdien '4' ' til 5 før den. Ved '0'-punktet vil verdien '4' konverteres til 5. Den negative setprecision() gjør ikke annet enn å vise hele den faktiske verdien. Alle verdiene ved flytende punkter 0 til 5 og -1, -2 vil vises etter å ha brukt settpresisjonen():







Det er på tide å kompilere og kjøre setprecision C++-koden med g++-kompileringsspørringen og './a.out'-utførelsesspørringen. Utdataene viser at den første setprecision(1) konverterer 4 til 5. Setprecision(2) gjorde ingenting og viser “4.5”. Setprecision(3) økte verdien fra '4.52' til '4.53'. Setprecision(4) gjør ingenting med verdien '4.527'. Setprecision(5) øker verdien fra '4.5274' til '4.5275'. Setprecision(0) økte verdien til 5. Setprecision(-1) og setprecision(-2) gjorde ingenting som vist nedenfor:

$ g++ ny.cc

$. / a.ut



Eksempel 02:

La oss ta en titt på et annet eksempel. Koden ligner på eksemplet ovenfor, med bare en endring i utsagnene. Det første tallet viser de opprinnelige verdiene mens de to neste viser resultatet av setprecision() ved flytende punkt 1 og 5. Det siste tallet viser resultatet av setprecision()-metoden ved flytende komma 9, som ikke er fysisk tilgjengelig. 1 og 5 flyttall-resultatene er ganske forventet, men vi kan ikke si noe om flyttall 9. La oss bare kjøre filen og sjekke hva som blir utdata fra denne koden:

#include

#include

ved hjelp av navneområde std ;

int hoved- ( ) {

dobbelt i = 4,52749 ;

cout << 'Verdi før settpresisjon: ' << i << ' \n ' ;

cout << settpresisjon ( 1 ) << 'Val ved 1: ' << i << ' \n ' ;

cout << settpresisjon ( 5 ) << 'Val kl 5:' << i << ' \n ' ;

cout << settpresisjon ( 9 ) << 'Val kl 9:' << i << ' \n ' ;

komme tilbake 0 ;

}

Etter kompilering og utførelse av denne koden har vi de åpenbare resultatene for innstillingspresisjon på plassering 1 og 3 med flyttallsverdien '4.52749'. Resultatet av settpresisjon 9 viser den faktiske verdien av dobbel variabel 'v'. Dette kan skyldes at verdien for plassering 9 ikke er fast:

$ g++ ny.cc

$. / a.ut

La oss bare oppdatere koden igjen for å fikse verdiene til en variabel 'v'. Så, etter at den første setprecision() cout-setningen ble brukt på den første plasseringen av variabelen, har vi brukt den faste variabelen i cout:

#include

#include

ved hjelp av navneområde std ;

int hoved- ( ) {

dobbelt i = 4,52749 ;

cout << 'Verdi før settpresisjon: ' << i << ' \n ' ;

cout << settpresisjon ( 1 ) << 'Val ved 1: ' << i << ' \n ' ;

cout << fikset ;

cout << settpresisjon ( 5 ) << 'Val kl 5:' << i << ' \n ' ;

cout << settpresisjon ( 9 ) << 'Val kl 9:' << i << ' \n ' ;

komme tilbake 0 ;

}

Etter å ha kompilert og kjørt denne oppdaterte koden, har vi det faste resultatet av setprecision på plassering 9 av en variabel 'v', dvs. 4.527490000:

$ g++ ny.cc

$. / a.ut

Konklusjon:

Til slutt handlet dette om å bruke metoden setprecision() i C++-kode for å runde av og vise verdien til en dobbel variabel. Vi har også forklart faste variabler i koden og deres fordeler. I tillegg har vi implementert to viktige eksempler for å forklare konseptet med settpresisjon i C++. Vi håper du fant denne artikkelen nyttig. Sjekk ut andre Linux Hint-artikler for flere tips og veiledninger.