• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Zaokrąglanie liczb [C++]

Object Storage Arubacloud
0 głosów
31,725 wizyt
pytanie zadane 17 lipca 2016 w C i C++ przez BanditPlayGame Użytkownik (680 p.)
zamknięte 30 maja 2017 przez BanditPlayGame
Mam taki problem. Potrzebuję jakiejś funkcji czy czegoś podobnego, która zaokrągla liczby. Jest mi potrzebna taka co zaokrągla na "na stałe". Nie wyświetla, ale mogę tej zaokrąglonej liczby użyć do jakiegoś działania matematycznego. Ważne jest także to, że musi ona zaokrąglać do dwóch miejsc po przecinku.

 

PS: Przekopałem internet to co znalazłem mi nie odpowiadało lub tego nie rozumiałem :)
komentarz zamknięcia: Wszystko działa

2 odpowiedzi

+8 głosów
odpowiedź 17 lipca 2016 przez manjaro Nałogowiec (37,390 p.)
wybrane 17 lipca 2016 przez BanditPlayGame
 
Najlepsza
#include <iostream>
#include <math.h>

using namespace std;
float a1;


float zaokraglij(float a)  {
    return round(a*100)/100;
}

int main()
{
cout << "Podaj a: ";
cin >> a1 ;
cout << "Liczba po zaokrągleniu: " << zaokraglij(a1) << endl;

return 0;
}

 

komentarz 17 lipca 2016 przez BanditPlayGame Użytkownik (680 p.)
Świetnie wszystko działa tylko nie rozumiem zasady działania round(a*100)/100;

Widziałem gdzieś tę funkcję tylko jej nie zrozumiałem. Proszę o wytłumaczenie.
komentarz 17 lipca 2016 przez manjaro Nałogowiec (37,390 p.)
Przykład

Masz liczbę 1,5678

Mnożysz x 100  co daje 156,78

Teraz zaokrąglasz funkcją round co daje 157

I dzielisz z powrotem przez 100 i masz wynik 1,57
komentarz 17 lipca 2016 przez BanditPlayGame Użytkownik (680 p.)
Dziękuje bardzo za pomoc :)
komentarz 17 lipca 2016 przez manjaro Nałogowiec (37,390 p.)
Nie ma sprawy.

Tym sposobem możesz zaokrąglać do dowolnej liczby po przecinku. Przykładowo chcesz do 3 miejsc po przecinku to mnożysz a później dzielisz przez 1000.
komentarz 17 lipca 2016 przez BanditPlayGame Użytkownik (680 p.)
Znalazłem mały problem, albo ja coś robię źle. Niestety to co zrobi ta własna funkcja to się nie zapisuje. Wyświetla się i koniec. Jest mi ta liczba potrzebna do innych wyliczeń.
komentarz 17 lipca 2016 przez manjaro Nałogowiec (37,390 p.)

Bo w tym programie było tylko wyświetlenie dla przykładu.

A jak chcesz jej używać to przypisujesz ją do jakiejś zmiennej
 

float liczba_zaokraglona = zaokraglij(a1);



Dajesz to gdzieś w środku programu main()

komentarz 18 lipca 2016 przez BanditPlayGame Użytkownik (680 p.)
Na razie nie zamykam pytania i jeszcze to trochę po testuje. Na razie jest wszystko ok :)
komentarz 22 stycznia 2023 przez Jerzy Użytkownik (930 p.)

@manjaro, 
A jak chciałbym zaokrąglić w dół?

 

0 głosów
odpowiedź 17 lipca 2016 przez niezalogowany
daj przykład, bo jak przekopałeś internet i nie znalazłeś odpowiedzi to masz naprawdę wymagania :)
komentarz 17 lipca 2016 przez BanditPlayGame Użytkownik (680 p.)
Przykład. Czego przykład??
komentarz 17 lipca 2016 przez niezalogowany
tego zaokrąglenia
komentarz 17 lipca 2016 przez BanditPlayGame Użytkownik (680 p.)
program w którym potrzebuję to zaokrąglanie?

Podobne pytania

0 głosów
1 odpowiedź 1,184 wizyt
+1 głos
2 odpowiedzi 38,597 wizyt
pytanie zadane 26 września 2015 w Java przez przemko06 Początkujący (370 p.)
+1 głos
1 odpowiedź 4,426 wizyt
pytanie zadane 10 czerwca 2017 w C i C++ przez Adwormix Nowicjusz (230 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...