Zapomenout určitě ne, ale pracovat s nimi jako s velmi specifickým nástrojem, nepoužívat tam kde je potřeba přesných výsledků (peníze, vědecké výpočty) a pokud možno s nimi nedělat operace v cyklech (kde se nepřesnosti mohou násobit).
Float se např. celkem zhusta používá v 2D grafice (asi nejen) v Androidu, protože se tím lépe dělají aplikace, které se přizpůsobují různých velikostem obrazovek a různým rozlišením. Tam jesli je čtverec rozměrů 123.0003 x 122.9997 nikomu vrásky nedělá. Tom > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf > Of Libor Jelinek > Sent: Tuesday, February 08, 2011 8:12 PM > To: Java > Subject: Re: Desetinná čísla > > 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 <[email protected]> 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%A1r > ka ). > > 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
