To znamená, že bych měl na double a float provždy zapomenout a všechno nahradit třídou BigDecimal (jak doporučuje Oráclí Java Tutorial)?
Dne 8. února 2011 16:13 Filip Jirsák <fi...@jirsak.org> napsal(a): > Zdravím, > >> >> floating point number - desetinné číslo > > v tomhle bude zakopaný pes. "Floating point number" není desetinné číslo, > ale číslo s plovoucí řádovou (nebo desetinnou) čárkou > (vizte http://cs.wikipedia.org/wiki/Plovouc%C3%AD_desetinn%C3%A1_%C4%8D%C3%A1rka ). > Není určeno k reprezentaci přesných desetinných čísel, ale k reprezentaci > velkého rozsahu čísel, u kterých tolik nezáleží na přesnosti, ale je > důležitá rychlost zpracování. Tenhle typ je nevhodné používat tam, kde máte > přesná desetinná čísla – klasický případ jsou peněžní částky. Naopak je > vhodný pro reprezentaci čísel, která už z podstaty nejsou přesná – když vám > nějaký přístroj naměří, že auto jelo rychlostí 53,12756 km/h nebo že výrobek > váží 15,37186 kg a počítáte s přesností na celé jednotky, nic se nestane, > pokud si to ještě trochu upraví počítač. To samozřejmě neplatí v případě, > kdy to vážíte s přesností na 5 desetinných míst a tuhle přesnost potřebujete > zachovat – to vám opět float nebo double nezaručí a musíte použít nějaký typ > se zaručenou přesností. Řekl bych, že čísla s plovoucí řádovou čárkou se > uplatní u zpracování fyzikálních dat (např. i zpracování zvuku či grafika), > v enterprise aplikacích bych na použití float nebo double skoro nastavil > varování nějakého analyzátoru kódu. > S pozdravem > Filip Jirsák