> Nemate tuseni proc se v JAVA napriklad 39.9 / 10 = 3.9899999999999998?
> 
> Potrebuji cislo zaokrouhlit napr. na dve desetina mista. Puziji 
> jednocuchy vzorec  Math.round(cislo * 100) / 100 bohuzel konkretne u 
> cisla zmineneho vise to nejak nevychazi. Nevite co s tim?

Záleží na tom, k jakému účelu potřebuješ číslo zaokrouhlit.

Je-li to jenom proto, aby se hezky vytisklo, je výhodnější se o zaokrouhlování 
nestarat
a přenechat starost o vzhled čísla formátovacímu objektu. Použiješ-li místo 

System.out.println( 39.9 + " / " + 10 + " = " + 39.9/10 ); 

formátovaný výstup 

System.out.printf( "%.1f / %d = %.2f",  39.9,  10,  39.9/10 );

budeš mít po starostech - vytiskne se

39.9 / 10 = 3.99

Metoda printf ale funguje až od Javy 5.0 - u starších verzí musíš použít trošku
komplikovanější metody formátování.

Potřebuješ_li z nějakého důvodu s takto zaokrouhlaným číslem opravdu počítat, 
musíš si
ujasnit, jestli ti opravdu ta chyba někde na 14. desetinném místě vadí - pak 
použij
např. BigDecimal, nebo jestli tě to jenom obtěžuje při debugování - pak se na to
vykašli.

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 268.0.0/267 - Release Date: 22.02.06 st
 

Odpovedet emailem