Príklad 01:
Takže sme otvorili súbor „new.cc“ s inštrukciou „nano“. Tento súbor je vytvorený pomocou „dotykového“ dotazu shellu. Súbor sa teraz spustí v editore nano ako prázdny súbor. Do hornej časti sme pridali vstupno-výstupný súbor hlavičky „iostream“. Bola pridaná knižnica „iomanip“, ktorá používa metódu setprecision() nášho kódu. Potom sme použili štandardný menný priestor „std“, aby sme sa uistili, že používame štandardný spôsob kódu a syntaxe. Celkový kód bol vykonaný v rámci funkcie main() kódu C++. Na tento účel sa nepoužíva žiadna iná funkcia definovaná používateľom.
V rámci funkcie main() sme inicializovali premennú dvojitého typu „v“ s dvojitou hodnotou. Prvý štandardný príkaz „cout“ zobrazuje skutočnú hodnotu dvojitej premennej „v“ na shell bez akejkoľvek aktualizácie. Potom sme použili 8 príkazov cout na použitie metódy setprecision() v každom z nich. Toto má použiť setprecision() na každú premennú „v“ s pohyblivou rádovou čiarkou zakaždým. Musíte pochopiť, že setprecision funguje iba na hodnote väčšej alebo rovnej 5. Ak je hodnota s pohyblivou rádovou čiarkou väčšia ako 5, zvýši hodnotu pred ňou.
Napríklad, setprecision() pri 1. pohyblivej rádovej čiarke zaokrúhli „5“ za bodkou a hodnota „4“ sa skonvertuje na 5. Podobne 2. hodnota s pohyblivou rádovou čiarkou „2“ sa nedá zaokrúhliť, 3. hodnota s pohyblivou rádovou čiarkou „7“ prevedie hodnotu „2“ na „3“, štvrtá hodnota s pohyblivou rádovou čiarkou „4“ sa nedá zaokrúhliť a 5. hodnota s pohyblivou rádovou čiarkou „9“ prevedie hodnotu „4“. “ až 5 pred ním. V bode „0“ skonvertuje hodnotu „4“ na 5. Záporná funkcia setprecision() nerobí nič, len zobrazuje celú skutočnú hodnotu. Všetky hodnoty v pohyblivých bodoch 0 až 5 a -1, -2 sa zobrazia po použití setprecision():
Je čas skompilovať a spustiť kód C++ setprecision s kompilačným dotazom g++ a vykonávacím dotazom „./a.out“. Výstup ukazuje, že prvá setprecision(1) konvertuje 4 na 5. Setprecision(2) neurobila nič a zobrazí „4.5“. Setprecision(3) zvýšilo hodnotu z „4.52“ na „4.53“. Setprecision(4) nerobí nič s hodnotou „4.527“. Setprecision(5) zvyšuje hodnotu z „4.5274“ na „4.5275“. Setprecision(0) zvýšilo hodnotu na 5. Setprecision(-1) a setprecision(-2) nerobili nič, ako je uvedené nižšie:
$ g++ new.cc$. / a.out
Príklad 02:
Pozrime sa na ďalší prípad. Kód je podobný vyššie uvedenému príkladu, len so zmenou v jeho príkazoch cout. Prvý cout zobrazuje pôvodné hodnoty, zatiaľ čo ďalšie dva zobrazujú výsledok setprecision() s pohyblivou rádovou čiarkou 1 a 5. Posledný cout zobrazuje výsledok metódy setprecision() s pohyblivou rádovou čiarkou 9, ktorá fyzicky nie je dostupná. Výsledky 1 a 5 s pohyblivou rádovou čiarkou sú celkom očakávané, ale nemôžeme povedať nič o pohyblivej rádovej čiarke 9. Spustite súbor a skontrolujte, čo bude výstupom tohto kódu:
#include#include
použitím menný priestor std ;
int Hlavná ( ) {
dvojitý v = 4,52749 ;
cout << 'Hodnota pred nastavením presnosti: ' << v << ' \n ' ;
cout << nastavená presnosť ( 1 ) << 'Val at 1: ' << v << ' \n ' ;
cout << nastavená presnosť ( 5 ) << 'Val o 5: ' << v << ' \n ' ;
cout << nastavená presnosť ( 9 ) << 'Val o 9:' << v << ' \n ' ;
vrátiť 0 ;
}
Po kompilácii a vykonaní tohto kódu máme zrejmé výsledky pre presnosť nastavenia na miestach 1 a 3 s pohyblivou rádovou čiarkou „4.52749“. Výsledok setprecision 9 ukazuje aktuálnu hodnotu dvojitej premennej „v“. Môže to byť spôsobené tým, že hodnota pre umiestnenie 9 nie je pevná:
$ g++ new.cc$. / a.out
Len znova aktualizujme kód, aby sme opravili hodnoty premennej „v“. Takže po prvom príkaze setprecision() cout aplikovanom na 1. mieste premennej sme použili pevnú premennú v cout:
#include#include
použitím menný priestor std ;
int Hlavná ( ) {
dvojitý v = 4,52749 ;
cout << 'Hodnota pred nastavením presnosti: ' << v << ' \n ' ;
cout << nastavená presnosť ( 1 ) << 'Val at 1: ' << v << ' \n ' ;
cout << pevné ;
cout << nastavená presnosť ( 5 ) << 'Val o 5: ' << v << ' \n ' ;
cout << nastavená presnosť ( 9 ) << 'Val o 9:' << v << ' \n ' ;
vrátiť 0 ;
}
Po kompilácii a spustení tohto aktualizovaného kódu máme pevný výsledok setprecision na mieste 9 premennej „v“, t. j. 4.527490000:
$ g++ new.cc$. / a.out
Záver:
Nakoniec to bolo všetko o použití metódy setprecision() v kóde C++ na zaokrúhlenie a zobrazenie hodnoty dvojitej premennej. Vysvetlili sme aj pevné premenné v kóde a ich výhody. Navyše sme implementovali dva dôležité príklady na vysvetlenie konceptu presnosti množiny v C++. Dúfame, že vám tento článok pomohol. Ďalšie tipy a návody nájdete v iných článkoch rady Linux.