Dne 9. února 2011 9:31 Tomas Hubalek <tomas.huba...@onsemi.com> napsal(a): > 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á.
Pokud použije Math.round() tak určitě nedělá. Pokud se na to ale vykašle, může se velice divit, že mu to najednou nesedí o pixel... > Tom > > > >> -----Original Message----- >> From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] 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 <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%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 > -- Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com