zaokruhlovanie
zaokruhlovanie
Zdravím,
asi som blbec a niečo mi uniká, ale neviem prečo v exceli po zaokrúhlení dvoch čísiel mi nevychádza ich súčet. Teda:
čísla 230 726 793 a 372 132 258 spolu dávajú 602 859 051.
Ja ich chcem zaokrúhlit na miliony s jednou desatinou, teda na 230,7 mil.€ a 372,1 mil.€ a toto mi už spolu dáva 602,8 mil.
Ale číslo 602 859 051 po zaokrúhlení je 602,9 nie ? Matematici, kde robím chybu ?
asi som blbec a niečo mi uniká, ale neviem prečo v exceli po zaokrúhlení dvoch čísiel mi nevychádza ich súčet. Teda:
čísla 230 726 793 a 372 132 258 spolu dávajú 602 859 051.
Ja ich chcem zaokrúhlit na miliony s jednou desatinou, teda na 230,7 mil.€ a 372,1 mil.€ a toto mi už spolu dáva 602,8 mil.
Ale číslo 602 859 051 po zaokrúhlení je 602,9 nie ? Matematici, kde robím chybu ?
Re: zaokruhlovanie
Chybu robis v tom, ze zaokruhlujes a potom cakas presny vysledok
.
Ak to chces mat presne, tak musis udrzat presny sucet, ulozit ho do nejakeho stlpca a ten potom zaokruhleny zobrazovat v inom "vysledkovom" stlpci...
Ak to chces mat presne, tak musis udrzat presny sucet, ulozit ho do nejakeho stlpca a ten potom zaokruhleny zobrazovat v inom "vysledkovom" stlpci...
Re: zaokruhlovanie
Tak asi ked si to zaokruhloval, tak ti to nevyjde presne tak ako predtym pretoze to je zaokruhlene (je to len priblizny vysledok).
230,7 + 372,1 = 602,8
Takto to bude vzdy, nie len ked ti to tak vyrata excel, ale aj ked ti to vyrata kalkulacka, mobil, otec, babka, kamarat,... kedze za desatinnou ciarko mas 7 a 1, 7+1=8, nie 9. Ak chces aby ti to vyslo tych 602,9, tak zaokruhluj az v tej bunke kde chces mat vysledok, v tych ktore zratuvas nechaj cele cisla.
230,7 + 372,1 = 602,8
Takto to bude vzdy, nie len ked ti to tak vyrata excel, ale aj ked ti to vyrata kalkulacka, mobil, otec, babka, kamarat,... kedze za desatinnou ciarko mas 7 a 1, 7+1=8, nie 9. Ak chces aby ti to vyslo tych 602,9, tak zaokruhluj az v tej bunke kde chces mat vysledok, v tych ktore zratuvas nechaj cele cisla.
Re: zaokruhlovanie
ale jak je možné, že ak by som to zaokruhlil na dve desatinné, tak by to pekne sedelo a keď zaokruhlím na jedno desatiné tak to nesedí...jak je to možné ? normálne ma to sere
Re: zaokruhlovanie
Lebo 26+32 = 58 (5. a 6. číslo), t.j. pri zaokrúhlení na stovky to bude 100 a nie 0?
-
Michaelo
Hardcore addict
- Príspevky: 6177
- Registrovaný: 16 júl 2008, 20:29
- Bydlisko: Pri PC
- Kontaktovať používateľa:
Re: zaokruhlovanie
Tak ich nezaokruhuj, iba uber pocet desatinnych miest ktory ukzuje v tabulke a bysledok bude bez zaokruhlovani presny, sumy v tabulkach ti matematicky zaokruhli na dany pocet desatinnych cisel ktory si ty vyberes.
-
weroro
Flash coder
- Príspevky: 3206
- Registrovaný: 14 feb 2009, 22:34
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: zaokruhlovanie
Pretože čím viac desatiných miest, tým presnejší výsledok. Veď sám vidíš, že keď zaokrúhluješ z napr. 5 desatiných miest na 4 a menej, tak ten výsledok je vždy viac nepresný.rr900 napísal:ale jak je možné, že ak by som to zaokruhlil na dve desatinné, tak by to pekne sedelo a keď zaokruhlím na jedno desatiné tak to nesedí...jak je to možné ? normálne ma to sere
Re: zaokruhlovanie
Nie som excel expert, ale neda sa to zaokruhlenie nejak nastavit ako format bunky? To by vyriesilo tvoj problem...
Re: zaokruhlovanie
mam otazku ohladne zaokruhlovania , ale nie v exceli , ale v c++ ... a ide konkretne o to ze chcem aby mi zaokruhlovalo do x.4 nadol a od x.5 nahor ... ako to spravit najjednoduchsie ?
Re: zaokruhlovanie
http://www.cplusplus.com/forum/beginner/3600/
Googli "c++ round" je toho vela.
Je toho fakt vela
Napr:
int round(double number)
{
return (number >= 0) ? (int)(number + 0.5) : (int)(number - 0.5);
}
Alebo:
double round(double x, int prec)
{
double power = 1.0;
int i;
if (prec > 0)
for (i = 0; i < prec; i++)
power *= 10.0;
else if (prec < 0)
for (i = 0; i < prec; i++)
power /= 10.0;
if (x > 0)
x = floor(x * power + 0.5) / power;
else if (x < 0)
x = ceil(x * power - 0.5) / power;
if (x == -0)
x = 0;
return x;
}
Googli "c++ round" je toho vela.
Je toho fakt vela
Napr:
int round(double number)
{
return (number >= 0) ? (int)(number + 0.5) : (int)(number - 0.5);
}
Alebo:
double round(double x, int prec)
{
double power = 1.0;
int i;
if (prec > 0)
for (i = 0; i < prec; i++)
power *= 10.0;
else if (prec < 0)
for (i = 0; i < prec; i++)
power /= 10.0;
if (x > 0)
x = floor(x * power + 0.5) / power;
else if (x < 0)
x = ceil(x * power - 0.5) / power;
if (x == -0)
x = 0;
return x;
}
Re: zaokruhlovanie
@noone
troska neskoro ale v tom exceli sa zaokruhluje skoro rovnako ako si napisal v tom c++
resp logika je rovnaka
staci namiesto "=SUM" pouzit "=ROUND" a dany vysledok natvrdo zaokruhli (nebude to len zobrazovanim)
troska neskoro ale v tom exceli sa zaokruhluje skoro rovnako ako si napisal v tom c++
resp logika je rovnaka
staci namiesto "=SUM" pouzit "=ROUND" a dany vysledok natvrdo zaokruhli (nebude to len zobrazovanim)
Re: zaokruhlovanie
Na blocku sa predsa nezaokruhluje, az v hotovostnej platbe. Aj ked tankujem na benzinke a mam tam natankovane za 95,02 eur, tak pri platbe kartou mi stiahne 95,02 eur z karty, ale pri platbe v hotovosti vypytaju len 95 eur. Ci sa mylim?
Re: zaokruhlovanie
Hej presne tak, ale píše, že výdavok 4 centy. Takže mu to asi vydalo 4 centy. Problém bude presne v tej hotovosti, že žiadnu nepoužil. Keďže vracal zálohu a nakúpil za menej ako bola záloha. Tak bol obchod ako keby v mínuse a proste mu len vrátili toľko, koľko mu dĺžili...čiže 4 centy.heker napísal: 20 máj 2024, 0:34 Na blocku sa predsa nezaokruhluje, az v hotovostnej platbe. Aj ked tankujem na benzinke a mam tam natankovane za 95,02 eur, tak pri platbe kartou mi stiahne 95,02 eur z karty, ale pri platbe v hotovosti vypytaju len 95 eur. Ci sa mylim?
Re: zaokruhlovanie
To bola pokladníčka, 2X 2 centy vydala.