Zaokruhlovanie – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zaokruhlovanie – C / C++ – Fórum – Programujte.comZaokruhlovanie – C / C++ – Fórum – Programujte.com

 

21. 1. 2012   #1
-
0
-

Neviete mi niekto poradit ako zaokruhlovat realne cisla na 3 desatinne miesta? Lebo algorytmus ktory mam mi blbne pri cisle 0,0005. Namiesto toho aby som mal vysledok 0,001 mi stale vyhadzuje 0,0000. Vopred dakiujem

Nahlásit jako SPAM
IP: 217.119.126.–
yaqwsx+9
Posthunter
21. 1. 2012   #2
-
0
-

V C++ standardně "typické" zaokrouhlování není. Obsahuje pouze funkce ceil a floor, které zaokrouhlují nahoru, resp. dolů, na celá čísla. S použitím funkce floor však můžeš zaokrouhlit na libovolná desitinná místa:

double zaokrouhlene = floor(cislo*pow(10,n)+0.5)/pow(10, n)

kde n je počet desetinných míst.

EDIT: Zapomněl jsme dodat, že tento postup punguje pouze pro kladná číasla. Pr záporná bys musel použít ceil a -0.5.

Dokumentace k STL používá pro zaokrouhlování stringstream:

double round(double val, int precision)
{
    std::stringstream s;
    s << std::setprecision(precision) << std::setiosflags(std::ios_base::fixed) << val;
    s >> val;
    return val;
}
Nahlásit jako SPAM
IP: 85.160.104.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 18 hostů

Podobná vlákna

Zaokruhlovanie — založil dodo_mt

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý