• 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++]

VPS Starter Arubacloud
0 głosów
31,469 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 (870 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,175 wizyt
+1 głos
2 odpowiedzi 38,502 wizyt
pytanie zadane 26 września 2015 w Java przez przemko06 Początkujący (370 p.)
+1 głos
1 odpowiedź 4,392 wizyt
pytanie zadane 10 czerwca 2017 w C i C++ przez Adwormix Nowicjusz (230 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...