Jak používat Setprecision v C++

Jak Pouzivat Setprecision V C



Možná jste se naučili a studovali hodnoty s plovoucí desetinnou čárkou a vědecký zápis v matematice a fyzice. Možná jste se také naučili zaokrouhlovat čísla s plovoucí desetinnou čárkou. Obslužný program setprecision v C++ se často používá ke změně pořadí čísel zobrazených uvnitř výstupní sekvence celého čísla s plovoucí desetinnou čárkou. Funguje stejně jako funkce zaokrouhlení. Tato metoda je definována ve standardní knihovně . V tomto tutoriálu vám ukážeme, jak používat funkci C++ „setprecision“. Takže, pojďme začít. Abychom na ní mohli pracovat, musíme spustit shellovou aplikaci Ubuntu pomocí „Ctrl+Alt+T“. Musíme inicializovat instalaci kompilátoru C++, což je v našem případě g++. Pro tento účel bude tedy zatím využíván balíček apt. Systém nainstaluje g++ během několika sekund: $ sudo apt Nainstalujte g++

Příklad 01:

Otevřeli jsme tedy soubor „new.cc“ s instrukcí „nano“. Tento soubor je vytvořen pomocí „dotykového“ dotazu shellu. Soubor je nyní spuštěn v editoru nano jako prázdný soubor. Na začátek jsme přidali vstupně-výstupní soubor záhlaví „iostream“. Byla přidána knihovna „iomanip“, která používá metodu setprecision() našeho kódu. Poté jsme použili standardní jmenný prostor „std“, abychom se ujistili, že používáme standardní způsob kódu a syntaxe. Celkový kód byl proveden v rámci funkce main() kódu C++. K tomuto účelu se nepoužívá žádná jiná uživatelsky definovaná funkce.







V rámci funkce main() jsme inicializovali proměnnou dvojitého typu „v“ s hodnotou double. První standardní příkaz „cout“ zobrazuje skutečnou hodnotu dvojité proměnné „v“ na shellu bez jakékoli aktualizace. Poté jsme použili 8 příkazů cout k použití metody setprecision() v každém z nich. To znamená použít setprecision() na každou proměnnou „v“ s plovoucí desetinnou čárkou pokaždé. Musíte pochopit, že setprecision funguje pouze na hodnotě větší nebo rovné 5. Pokud je hodnota s plovoucí desetinnou čárkou větší než 5, zvýší hodnotu před ní.



Například setprecision() v 1. plovoucí desetinné čárce zaokrouhlí za bodem „5“ a hodnota „4“ bude převedena na 5. Podobně nelze zaokrouhlit 2. hodnotu s plovoucí desetinnou čárkou „2“. 3. hodnota s plovoucí desetinnou čárkou „7“ převede hodnotu „2“ na „3“, čtvrtá hodnota s plovoucí řádovou čárkou „4“ nemůže být zaokrouhlena a 5. hodnota s plovoucí řádovou čárkou „9“ převede hodnotu „4“. “ až 5 před tím. V bodě „0“ převede hodnotu „4“ na 5. Negativní setprecision() nedělá nic jiného, ​​než že zobrazuje celou skutečnou hodnotu. Všechny hodnoty v plovoucích desetinných čárkách 0 až 5 a -1, -2 se zobrazí po použití setprecision():







Je čas zkompilovat a spustit kód setprecision C++ s kompilačním dotazem g++ a prováděcím dotazem „./a.out“. Výstup ukazuje, že první setprecision(1) převádí 4 na 5. Setprecision(2) neudělal nic a zobrazí „4.5“. Setprecision(3) zvýšilo hodnotu z „4.52“ na „4.53“. Setprecision(4) nedělá nic 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) neudělaly nic, jak je uvedeno níže:

$ g++ new.cc

$. / a.out



Příklad 02:

Podívejme se na další příklad. Kód je podobný výše uvedenému příkladu, pouze se změnily jeho příkazy cout. První cout zobrazuje původní hodnoty, zatímco další dva zobrazují výsledek setprecision() v plovoucí desetinné čárce 1 a 5. Poslední cout zobrazuje výsledek metody setprecision() v pohyblivé řádové čárce 9, která není fyzicky dostupná. Výsledky 1 a 5 s plovoucí desetinnou čárkou jsou docela očekávané, ale nemůžeme říci nic o plovoucí desetinné čárce 9. Spusťte soubor a zkontrolujte, co bude výstupem tohoto kódu:

#include

#include

použitím jmenný prostor std ;

int hlavní ( ) {

dvojnásobek v = 4,52749 ;

cout << 'Hodnota před nastavením přesnosti:' << v << ' \n ' ;

cout << nastavit přesnost ( 1 ) << 'Val at 1: ' << v << ' \n ' ;

cout << nastavit přesnost ( 5 ) << 'Val v 5:' << v << ' \n ' ;

cout << nastavit přesnost ( 9 ) << 'Val v 9:' << v << ' \n ' ;

vrátit se 0 ;

}

Po kompilaci a provedení tohoto kódu máme zřejmé výsledky pro setprecision na místech 1 a 3 s plovoucí desetinnou čárkou „4.52749“. Výsledek setprecision 9 ukazuje skutečnou hodnotu dvojité proměnné „v“. Může to být způsobeno tím, že hodnota pro umístění 9 není pevná:

$ g++ new.cc

$. / a.out

Jen znovu aktualizujme kód, abychom opravili hodnoty proměnné „v“. Takže po prvním příkazu setprecision() cout použitém na 1. místě proměnné jsme použili pevnou proměnnou v cout:

#include

#include

použitím jmenný prostor std ;

int hlavní ( ) {

dvojnásobek v = 4,52749 ;

cout << 'Hodnota před nastavením přesnosti:' << v << ' \n ' ;

cout << nastavit přesnost ( 1 ) << 'Val at 1: ' << v << ' \n ' ;

cout << pevný ;

cout << nastavit přesnost ( 5 ) << 'Val v 5:' << v << ' \n ' ;

cout << nastavit přesnost ( 9 ) << 'Val v 9:' << v << ' \n ' ;

vrátit se 0 ;

}

Po zkompilování a spuštění tohoto aktualizovaného kódu máme pevný výsledek setprecision na místě 9 proměnné „v“, tj. 4.527490000:

$ g++ new.cc

$. / a.out

Závěr:

Nakonec šlo o použití metody setprecision() v kódu C++ k zaokrouhlení a zobrazení hodnoty dvojité proměnné. Vysvětlili jsme také pevné proměnné v kódu a jejich výhody. Navíc jsme implementovali dva důležité příklady pro vysvětlení konceptu přesnosti sady v C++. Doufáme, že vám tento článek pomohl. Podívejte se na další články Linux Hint, kde najdete další tipy a návody.