Hvordan bruke setprecision i C ++

Hvordan bruke setprecision i C ++
Du har kanskje lært og studert de flytende punktverdiene og den vitenskapelige notasjonen i matematikk og fysikk. Du har kanskje også lært å utføre avrunding på flytende punkttall. SetPrecision-verktøyet i C ++ brukes ofte til å endre sekvensen av tall som vises i en flytende punkts heltallsutgangssekvens. Det fungerer det samme som avrundingsfunksjonaliteten. 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 Shell -applikasjonen gjennom “Ctrl+Alt+T” for å jobbe med det. Vi må initialisere installasjon av C ++ -kompilatoren, som er G ++ i vårt tilfelle. Så den passende pakken vil bli brukt til dette formålet så langt. Systemet vil installere G ++ på bare noen få sekunder:
$ sudo apt install G++

Eksempel 01:

Så vi har åpnet “New.CC ”-fil med“ Nano ”-instruksjon. Denne filen opprettes ved å bruke Shells "Touch" -spørsmål. Filen er nå lansert i Nano Editor som en tom fil. Vi har lagt til inndata-output “iostream” headerfil øverst. "Iomanip" -biblioteket er lagt til for å bruke kodens setPrecision () -metode. Etter dette benyttet vi standard navneområdet “STD” for å sikre at vi brukte standard måte å kode og syntaks. Den samlede koden er utført innen hoved () -funksjonen til C ++ -koden. Ingen annen brukerdefinert funksjon brukes til dette formålet.

Innenfor Main () -funksjonen har vi initialisert en variabel "V" med dobbel type med en dobbel verdi. Den første "cout" -standardoppgaven viser den faktiske dobbeltvariableverdien “V” på skallet uten noen oppdatering. Etter dette har vi brukt 8 cout -uttalelser for å bruke metoden setPrecision () i hver. Dette for å bruke setPrecision () på "V" -variabelen hver flytende punkt hver gang. Du må forstå at setprecision bare fungerer på verdien som er større enn eller lik 5. Hvis den flytende punktverdien er større enn 5, vil den øke verdien før den.

For eksempel vil setprecision () på 1. flytende punkt avrunde “5” etter poenget, og verdien “4” vil bli konvertert til 5. Tilsvarende kan ikke den andre flytende punktverdien “2” ikke avrundes, den tredje flytende punktverdien “7” vil konvertere verdien “2” til “3”, den fjerde flytende punktverdien “4” kan ikke avrundes av , og den 5. flytende punktverdien “9” vil konvertere verdien “4” til 5 før den. På “0” punkt vil konvertere verdien “4” til 5. Den negative setPrecision () gjør ikke noe annet enn å vise hele den faktiske verdien. Alle verdiene ved flytende punkter 0 til 5 og -1, -2 vises etter påføring av setPrecision ():

Det er på tide å kompilere og kjøre SetPrecision C ++ -koden med G ++ -samlingsspørsmålet og "./en.ut ”utførelsesforespørsel. Utgangen 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 ++ nytt.CC
$ ./en.ute

Eksempel 02:

La oss se på et annet tilfelle. Koden ligner på eksemplet ovenfor, med bare en endring i cout -uttalelsene. Den første cout viser de opprinnelige verdiene mens de to neste viser resultatet av setprecision () ved flytende punkter 1 og 5. Den siste cout viser resultatet av SetPrecision () -metoden ved flytende punkt 9, som fysisk ikke er tilgjengelig. 1 og 5 flytende punktresultater er ganske forventet, men vi kan ikke si noe om flytende punkt 9. La oss bare utføre filen og sjekke hva som vil være utdataene til denne koden:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
Dobbelt v = 4.52749;
cout <<"Value Before setprecision : " <cout <cout <cout <return 0;

Etter sammenstilling og utførelse av denne koden, har vi de åpenbare resultatene for setprecision på lokasjon 1 og 3 i flytende punktverdi “4.52749 ”. Resultatet av SetPrecision 9 viser den faktiske verdien av dobbel variabel “V”. Dette kan skyldes det faktum at verdien for sted 9 ikke er løst:

$ g ++ nytt.CC
$ ./en.ute

La oss bare oppdatere koden igjen for å fikse verdiene til en variabel “V”. Så etter den første setPrecision () cout -setningen som ble brukt på 1. plassering av variabelen, har vi brukt den faste variabelen i COUT:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
Dobbelt v = 4.52749;
cout <<"Value Before setprecision : " <cout <cout <cout <cout <return 0;

Etter å ha sammenstilt og kjørt denne oppdaterte koden, har vi det faste resultatet av setprecision på stedet 9 av en variabel “V”, i.e., 4.527490000:

$ g ++ nytt.CC
$ ./en.ute

Konklusjon:

Til slutt handlet dette om å bruke SetPrecision () -metoden i C ++ -kode for å avrunde og vise verdien av en dobbel variabel. Vi har også forklart faste variabler i koden og fordelene deres. I tillegg har vi implementert to viktige eksempler for å forklare begrepet sett presisjon i C++. Vi håper du fant denne artikkelen nyttig. Sjekk ut andre Linux -hint -artikler for flere tips og opplæringsprogrammer.