Nevite, jak zaokrouhlit desetinne cislo na dany pocet mist?
Napr. 12.456789 a chtel bych ho zaokrouhlit na 3 desetinna cisla, na 12.458. Vymyslel jsem na to svoji metodu, ale zda se mi neohrabana. Nenabizi neco primo java?
Fórum › Java
Zaokrouhlovani desetinneho cisla
Nejspíš někde něco existovat bude (možná v Math nebo přes DecimalFormat), ale zaokrouhlení lze udělat jednoduše i "ručně". V tvém případě je to nějak takto:
double dValue = 12.456789;
// oriznuti desetinne casti
int nTemp = (int)((dValue + 0.0005) * 1000.0);
// zpetny prevod na double
double dFinal = ((double)nTemp)/1000.0;
Vždycky ne ... když máš číslo 1.23456 a chceš ho zaokrouhlit na 3 místa nahoru (pokud ho tedy chceš zaokrouhlit nahoru :)), tak přičteš 0.0005 a dostaneš 1.23506, ořízneš přebytečná desetinná místa a máš to.
Když by si měl číslo 1.2344999999 a menší (do 1.2340), tak přičtením 0.0005 dostaneš 1.2349999999 a když ořízneš přebytečná desetinná místa, tak dostaneš 1.234, nebo-li to co si chtěl (ten dlouhý zástup 9 na konci ber s rezervou viz přesnost desetinných čísel).
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 43 hostů
Podobná vlákna
Formatovani desetinneho cisla — založil victus
Převod desetinného čísla na zlomek — založil Dephisto
Převod desetinného čísla do dvojkové soustavy — založil MaxDJs
Zaokrouhlování na celá čísla ve Visual C# — založil jája
Zaokrouhlovani — založil Error
Moderátoři diskuze