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.