01. példa:
Tehát megnyitottuk a „new.cc” fájlt „nano” utasítással. Ez a fájl a shell „touch” lekérdezésével jön létre. A fájl most üres fájlként indul el a nano szerkesztőben. A tetejére hozzáadtuk az „iostream” bemeneti-kimeneti fejlécfájlt. Az „iomanip” könyvtár hozzáadásra került a kódunk setprecision() metódusának használatához. Ezt követően a szabványos „std” névteret használtuk, hogy megbizonyosodjunk arról, hogy a kód és a szintaxis szabványos módját használjuk. A teljes kódot a C++ kód main() függvényében hajtották végre. Más, felhasználó által definiált funkció nem használható erre a célra.
A main() függvényen belül inicializáltunk egy dupla típusú „v” változót dupla értékkel. Az első „cout” standard utasítás frissítés nélkül jeleníti meg a „v” dupla változó tényleges értékét a shell-en. Ezt követően 8 cout utasítást használtunk a setprecision() metódus használatához mindegyikben. Ez arra szolgál, hogy a setprecision()-t minden alkalommal alkalmazzuk a „v” változó minden lebegőpontos pontjára. Meg kell értenie, hogy a beállítási pontosság csak az 5-nél nagyobb vagy azzal egyenlő értékre vonatkozik. Ha a lebegőpontos érték nagyobb, mint 5, akkor az előtte lévő értéket növeli.
Például a setprecision() az 1. lebegőpontosnál „5”-tel kerekít a pont után, és a „4” értéket 5-re alakítja át. Hasonlóképpen a 2. lebegőpontos „2” értéket nem lehet kerekíteni, a A 3. lebegőpontos „7” a „2” értéket „3”-ra konvertálja, a 4. „4” lebegőpontos érték nem kerekíthető, az 5. „9” lebegőpontos érték pedig a „4” értéket. ” előtte 5-re. A „0” pontnál a „4” értéket 5-re konvertálja. A negatív setprecision() nem tesz mást, mint a teljes tényleges értéket. A 0-tól 5-ig és a -1, -2 lebegőpontokban lévő összes érték megjelenik a setprecision() alkalmazása után:
Ideje lefordítani és futtatni a setprecision C++ kódot a g++ fordítási lekérdezéssel és a „./a.out” végrehajtási lekérdezéssel. A kimenet azt mutatja, hogy az első setprecision(1) 4-et 5-re konvertál. A setprecision(2) nem csinált semmit, és „4.5”-et jelenít meg. A beállított pontosság(3) „4,52”-ről „4,53”-ra növelte az értéket. A setprecision(4) semmit sem tesz a „4.527” értékkel. A setprecision(5) az értéket „4,5274”-ről „4,5275”-re növeli. A setprecision(0) az értéket 5-re növelte. A setprecision(-1) és setprecision(-2) semmit sem csinált, az alábbiak szerint:
$ g++ új.cc$. / a.out
02. példa:
Vessünk egy pillantást egy másik esetre. A kód hasonló a fenti példához, csak a cout utasításaiban változott. Az első cout az eredeti értékeket mutatja, míg a következő kettő a setprecision() eredményét mutatja az 1-es és 5-ös lebegőpontokban. Az utolsó cout a setprecision() metódus eredményét jeleníti meg a 9-es lebegőpontban, amely fizikailag nem elérhető. Az 1-es és az 5-ös lebegőpontos eredmények nagyon vártak, de a 9-es lebegőpontosról nem tudunk mit mondani. Csak futtassuk le a fájlt, és nézzük meg, mi lesz ennek a kódnak a kimenete:
#include#include
segítségével névtér std ;
int fő- ( ) {
kettős ban ben = 4,52749 ;
cout << 'Érték a beállított pontosság előtt:' << ban ben << ' \n ' ;
cout << beállított pontosság ( 1 ) << 'Val at 1: ' << ban ben << ' \n ' ;
cout << beállított pontosság ( 5 ) << 'Val at 5: ' << ban ben << ' \n ' ;
cout << beállított pontosság ( 9 ) << 'Val at 9: ' << ban ben << ' \n ' ;
Visszatérés 0 ;
}
Ennek a kódnak a fordítása és végrehajtása után nyilvánvaló eredményeket kaptunk a „4.52749” lebegőpontos értékű 1. és 3. helyen végzett beállítási pontosság tekintetében. A 9. setprecision eredménye a „v” dupla változó tényleges értékét mutatja. Ennek az lehet az oka, hogy a 9. hely értéke nem rögzített:
$ g++ új.cc$. / a.out
Frissítsük újra a kódot, hogy javítsuk a „v” változó értékét. Tehát a változó 1. helyén alkalmazott első setprecision() cout utasítás után a rögzített változót használtuk a coutban:
#include#include
segítségével névtér std ;
int fő- ( ) {
kettős ban ben = 4,52749 ;
cout << 'Érték a beállított pontosság előtt:' << ban ben << ' \n ' ;
cout << beállított pontosság ( 1 ) << 'Val at 1: ' << ban ben << ' \n ' ;
cout << rögzített ;
cout << beállított pontosság ( 5 ) << 'Val at 5: ' << ban ben << ' \n ' ;
cout << beállított pontosság ( 9 ) << 'Val at 9: ' << ban ben << ' \n ' ;
Visszatérés 0 ;
}
A frissített kód fordítása és futtatása után megkaptuk a setprecision rögzített eredményét a „v” változó 9. helyén, azaz a 4.527490000.
$ g++ új.cc$. / a.out
Következtetés:
Végül ez arról szólt, hogy a setprecision() metódust használjuk a C++ kódban egy dupla változó értékének kerekítésére és megjelenítésére. Elmagyaráztuk a kódban szereplő rögzített változókat és azok előnyeit is. Ezenkívül két fontos példát implementáltunk a halmazpontosság fogalmának magyarázatára a C++ nyelvben. Reméljük, hogy hasznosnak találta ezt a cikket. További tippekért és oktatóanyagokért tekintse meg a Linux Hint többi cikkét.