Jak używać funkcji Setprecision w C++

Jak Uzywac Funkcji Setprecision W C



Być może znasz i studiujesz wartości zmiennoprzecinkowe oraz notację naukową w matematyce i fizyce. Być może nauczyłeś się także zaokrąglać liczby zmiennoprzecinkowe. Narzędzie setprecision w C++ jest często używane do zmiany sekwencji liczb wyświetlanych w sekwencji wyjściowej zmiennoprzecinkowej liczby całkowitej. Działa tak samo jak funkcja zaokrąglania. Ta metoda jest zdefiniowana w bibliotece standardowej . W tym samouczku pokażemy, jak używać funkcji „setprecision” w C++. Więc zacznijmy. Aby nad nią pracować, musimy uruchomić aplikację powłoki Ubuntu za pomocą „Ctrl+Alt+T”. Musimy zainicjować instalację kompilatora C++, czyli w naszym przypadku g++. Zatem pakiet apt będzie jak dotąd wykorzystywany w tym celu. System zainstaluje g++ w ciągu kilku sekund: $ sudo trafny zainstalować g++

Przykład 01:

Otworzyliśmy więc plik „new.cc” z instrukcją „nano”. Ten plik jest tworzony przy użyciu zapytania „dotykowego” powłoki. Plik zostanie teraz uruchomiony w edytorze nano jako pusty plik. Dodaliśmy na górze plik nagłówkowy „iostream” typu „iostream”. Dodano bibliotekę „iomanip” umożliwiającą korzystanie z metody setprecision() naszego kodu. Następnie wykorzystaliśmy standardową przestrzeń nazw „std”, aby upewnić się, że używamy standardowego sposobu kodu i składni. Cały kod został wykonany w ramach funkcji main() kodu C++. W tym celu nie jest używana żadna inna funkcja zdefiniowana przez użytkownika.







W funkcji main() zainicjowaliśmy zmienną typu double „v” o wartości double. Pierwsza standardowa instrukcja „cout” wyświetla rzeczywistą wartość podwójnej zmiennej „v” w powłoce bez żadnej aktualizacji. Następnie użyliśmy 8 instrukcji cout, aby w każdej z nich zastosować metodę setprecision(). Ma to na celu każdorazowe zastosowanie metody setprecision() do każdej zmiennej zmiennoprzecinkowej zmiennej „v”. Musisz zrozumieć, że setprecision działa tylko na wartość większą lub równą 5. Jeśli wartość zmiennoprzecinkowa jest większa niż 5, wartość przed nią zwiększy się.



Na przykład funkcja setprecision() przy pierwszej liczbie zmiennoprzecinkowej zaokrągli „5” po przecinku, a wartość „4” zostanie przekonwertowana na 5. Podobnie drugiej wartości zmiennoprzecinkowej „2” nie można zaokrąglić, Trzecia wartość zmiennoprzecinkowa „7” spowoduje konwersję wartości „2” na „3”, czwarta wartość zmiennoprzecinkowa „4” nie może zostać zaokrąglona, ​​a piąta wartość zmiennoprzecinkowa „9” spowoduje konwersję wartości „4” ” do 5 przed nim. W punkcie „0” wartość „4” zostanie przekonwertowana na 5. Ujemna funkcja setprecision() nie robi nic poza wyświetleniem całej rzeczywistej wartości. Wszystkie wartości zmiennoprzecinkowe od 0 do 5 oraz -1, -2 zostaną wyświetlone po zastosowaniu setprecision():







Czas skompilować i uruchomić kod setprecision C++ z zapytaniem kompilacji g++ i zapytaniem wykonawczym „./a.out”. Dane wyjściowe pokazują, że pierwsza setprecision(1) konwertuje 4 na 5. Setprecision(2) nic nie zrobiła i wyświetla „4,5”. Funkcja setprecision(3) zwiększyła wartość z „4,52” do „4,53”. Funkcja setprecision(4) nie robi nic z wartością „4,527”. Funkcja setprecision(5) zwiększa wartość z „4,5274” do „4,5275”. Funkcja setprecision(0) zwiększała wartość do 5. Funkcje setprecision(-1) i setprecision(-2) nie zrobiły nic, jak pokazano poniżej:

$ g++ nowy.cc

$. / a.out



Przykład 02:

Przyjrzyjmy się innemu przykładowi. Kod jest podobny do powyższego przykładu, ze zmianą jedynie w instrukcjach cout. Pierwszy cout pokazuje oryginalne wartości, a dwa kolejne pokazują wynik setprecision() dla zmiennoprzecinkowych 1 i 5. Ostatni cout wyświetla wynik metody setprecision() dla zmiennoprzecinkowej 9, która jest fizycznie niedostępna. Wyniki zmiennoprzecinkowe 1 i 5 są całkiem oczekiwane, ale nie możemy nic powiedzieć o zmiennoprzecinkowym 9. Po prostu uruchommy plik i sprawdźmy, jaki będzie wynik tego kodu:

#include

#include

za pomocą przestrzeń nazw st ;

wew główny ( ) {

podwójnie W = 4,52749 ;

cout << „Wartość przed ustawieniem precyzji:” << W << ' \N ' ;

cout << ustawić precyzję ( 1 ) << „Wartość 1:” << W << ' \N ' ;

cout << ustawić precyzję ( 5 ) << „Val o 5:” << W << ' \N ' ;

cout << ustawić precyzję ( 9 ) << „Val o 9:” << W << ' \N ' ;

powrót 0 ;

}

Po skompilowaniu i wykonaniu tego kodu mamy oczywiste wyniki dla setprecision w lokalizacjach 1 i 3 wartości zmiennoprzecinkowej „4.52749”. Wynik setprecision 9 pokazuje rzeczywistą wartość podwójnej zmiennej „v”. Może to wynikać z faktu, że wartość lokalizacji 9 nie jest stała:

$ g++ nowy.cc

$. / a.out

Po prostu zaktualizujmy kod ponownie, aby naprawić wartości zmiennej „v”. Tak więc, po zastosowaniu pierwszej instrukcji cout setprecision() w pierwszym miejscu zmiennej, użyliśmy stałej zmiennej w cout:

#include

#include

za pomocą przestrzeń nazw st ;

wew główny ( ) {

podwójnie W = 4,52749 ;

cout << „Wartość przed ustawieniem precyzji:” << W << ' \N ' ;

cout << ustawić precyzję ( 1 ) << „Wartość 1:” << W << ' \N ' ;

cout << naprawił ;

cout << ustawić precyzję ( 5 ) << „Val o 5:” << W << ' \N ' ;

cout << ustawić precyzję ( 9 ) << „Val o 9:” << W << ' \N ' ;

powrót 0 ;

}

Po skompilowaniu i uruchomieniu zaktualizowanego kodu mamy ustalony wynik setprecision w lokalizacji 9 zmiennej „v”, tj. 4,527490000:

$ g++ nowy.cc

$. / a.out

Wniosek:

Wreszcie chodziło o użycie metody setprecision() w kodzie C++ do zaokrąglenia i wyświetlenia wartości zmiennej typu double. Wyjaśniliśmy także stałe zmienne w kodzie i ich zalety. Ponadto zaimplementowaliśmy dwa ważne przykłady wyjaśniające koncepcję ustawionej precyzji w C++. Mamy nadzieję, że ten artykuł był dla Ciebie pomocny. Sprawdź inne artykuły dotyczące wskazówek dotyczących systemu Linux, aby uzyskać więcej wskazówek i samouczków.