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

Odpovedet emailem