Sådan bruges Setprecision i C++

Sadan Bruges Setprecision I C



Du har måske lært og studeret floating-point-værdierne og den videnskabelige notation i matematik og fysik. Du har måske også lært at udføre afrunding på floating-point-tal. Setprecision-værktøjet i C++ bruges ofte til at ændre rækkefølgen af ​​tal, der vises inde i en flydende heltal-outputsekvens. Det fungerer på samme måde som afrundingsfunktionen. Denne metode er defineret i standardbiblioteket. I denne tutorial viser vi dig, hvordan du bruger C++'s 'setprecision'-funktion. Så lad os komme i gang. Vi skal starte Ubuntu shell-applikationen gennem 'Ctrl+Alt+T' for at arbejde på det. Vi skal initialisere installationen af ​​C++ compileren, som er g++ i vores tilfælde. Så apt-pakken vil indtil videre blive brugt til dette formål. Systemet installerer g++ på få sekunder: $ sudo passende installere g++

Eksempel 01:

Så vi har åbnet 'new.cc' filen med 'nano' instruktion. Denne fil oprettes ved at bruge shellens 'touch'-forespørgsel. Filen startes nu i nano-editoren som en tom fil. Vi har tilføjet input-output 'iostream'-headerfilen øverst. 'iomanip'-biblioteket er blevet tilføjet for at bruge vores kodes setprecision()-metode. Herefter brugte vi standardnavnerummet 'std' for at sikre, at vi brugte standardmetoden for kode og syntaks. Den overordnede kode er udført i hoved()-funktionen i C++-koden. Ingen anden brugerdefineret funktion bruges til dette formål.







Inden for main()-funktionen har vi initialiseret en dobbelttypevariabel 'v' med en dobbeltværdi. Den første 'cout' standarderklæring viser den faktiske dobbelte variabelværdi 'v' på skallen uden nogen opdatering. Efter dette har vi brugt 8 cout-sætninger til at bruge setprecision()-metoden i hver. Dette er for at anvende setprecision() på 'v' variablens hvert flydende komma hver gang. Du skal forstå, at sætpræcisionen kun virker på værdien større end eller lig med 5. Hvis den flydende kommaværdi er større end 5, vil den øge værdien før den.



For eksempel vil setprecision() ved 1. flydende komma afrunde '5' efter punktet, og værdien '4' vil blive konverteret til 5. På samme måde kan den 2. flydende decimalværdi '2' ikke afrundes. 3. flydende-komma-værdi '7' vil konvertere værdien '2' til '3', den 4. flydende-komma-værdi '4' kan ikke afrundes, og den 5. flydende-komma-værdi '9' vil konvertere værdien '4' ” til 5 før det. Ved '0'-punktet vil værdien '4' konverteres til 5. Den negative setprecision() gør ikke andet end at vise hele den faktiske værdi. Alle værdier ved flydende punkter 0 til 5 og -1, -2 vil blive vist efter anvendelse af sætpræcision():







Det er tid til at kompilere og køre setprecision C++-koden med g++-kompileringsforespørgslen og './a.out'-udførelsesforespørgslen. Outputtet viser, at den første setprecision(1) konverterer 4 til 5. Setprecision(2) gjorde intet og viser '4.5'. Den indstillede præcision(3) øgede værdien fra '4,52' til '4,53'. Setprecision(4) gør intet ved værdien '4.527'. Setprecision(5) øger værdien fra '4.5274' til '4.5275'. Setprecision(0) øgede værdien til 5. Setprecision(-1) og setprecision(-2) gjorde intet som vist nedenfor:

$ g++ ny.cc

$. / a.ud



Eksempel 02:

Lad os tage et kig på et andet eksempel. Koden ligner ovenstående eksempel, med kun en ændring i dens cout-udsagn. Den første cout viser de originale værdier, mens de næste to viser resultatet af setprecision() ved flydende punkter 1 og 5. Den sidste cout viser resultatet af setprecision() metoden ved flydende komma 9, som ikke er fysisk tilgængelig. 1 og 5 floating-point-resultaterne er ret forventede, men vi kan ikke sige noget om floating-point 9. Lad os bare udføre filen og tjekke, hvad der vil være output fra denne kode:

#include

#inkluder

ved brug af navneområde std ;

int vigtigste ( ) {

dobbelt i = 4,52749 ;

cout << 'Værdi før sætpræcision: ' << i << ' \n ' ;

cout << sætpræcision ( 1 ) << 'Val ved 1:' << i << ' \n ' ;

cout << sætpræcision ( 5 ) << 'Val ved 5:' << i << ' \n ' ;

cout << sætpræcision ( 9 ) << 'Val kl 9:' << i << ' \n ' ;

Vend tilbage 0 ;

}

Efter kompilering og eksekvering af denne kode har vi de åbenlyse resultater for sætpræcision på lokationerne 1 og 3 med flydende kommaværdi '4.52749'. Resultatet af sætpræcision 9 viser den aktuelle værdi af den dobbelte variabel 'v'. Dette kan skyldes, at værdien for lokation 9 ikke er fast:

$ g++ ny.cc

$. / a.ud

Lad os bare opdatere koden igen for at rette værdierne af en variabel 'v'. Så efter den første setprecision() cout-sætning anvendt på 1. placering af variablen, har vi brugt den faste variabel i cout:

#include

#inkluder

ved brug af navneområde std ;

int vigtigste ( ) {

dobbelt i = 4,52749 ;

cout << 'Værdi før sætpræcision:' << i << ' \n ' ;

cout << sætpræcision ( 1 ) << 'Val ved 1:' << i << ' \n ' ;

cout << fast ;

cout << sætpræcision ( 5 ) << 'Val ved 5:' << i << ' \n ' ;

cout << sætpræcision ( 9 ) << 'Val kl 9:' << i << ' \n ' ;

Vend tilbage 0 ;

}

Efter at have kompileret og kørt denne opdaterede kode, har vi det faste resultat af setprecision på lokation 9 af en variabel 'v', dvs. 4.527490000:

$ g++ ny.cc

$. / a.ud

Konklusion:

Til sidst handlede det hele om at bruge metoden setprecision() i C++-kode til at afrunde og vise værdien af ​​en dobbelt variabel. Vi har også forklaret faste variabler i koden og deres fordele. Plus, vi har implementeret to vigtige eksempler for at forklare konceptet med sætpræcision i C++. Vi håber, du fandt denne artikel nyttig. Se andre Linux-tip-artikler for flere tips og selvstudier.