BigDecimal vie toho dost, kukni si dokumentaciu http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html a mozno nieco najdes
Dalsi napad: http://java.sun.com/javase/6/docs/api/java/text/NumberFormat.html :-) ya > A kdyz pouziju BigDecimal, tak je nejaka prima rychla cesta? > > > On Mon, 18 Jun 2007 14:42:36 +0200, Ján Valkovič <[EMAIL PROTECTED]> > wrote: > >> Roman Strobl wrote / napísal(a): >>> Ján Valkovič wrote: >>>> Ahoj, >>>> neviem, co sa ti viac hodi, mne sa viac paci napad so so >>>> StringTokenizer-om, ale aj tento sposob ako rozdelit float na celu a >>>> desatinnu cast mozno pomoze :-) >>>> >>>> public static void main(String[] args) { >>>> float cena = new Float(28.836); >>>> int celaCast = (int)cena; >>>> float desatinnaCast = cena - new Float(celaCast); >>>> >>>> System.out.println("Cena:" + cena); >>>> System.out.println("Cela cast:" + celaCast); >>>> System.out.println("Desatinna cast:" + desatinnaCast); >>>> } >>>> >>>> Vystup: >>>> Cena:28.836 >>>> Cela cast:28 >>>> Desatinna cast:0.83600044 >>>> >>>> len neviem preco je desatinna cast 0.83600044 :-) >>>> >>> Protoze pracujes s realnymi cisly, ktere nemusi byt 100% presne :) >>> >>> Pokud vyzadujes lepsi presnost, jsou na to matematicke knihovny (viz >>> BigDecimal apod.). >>> >>> -Roman >>> >> Aha, myslel som si, ze float ma vyssiu presnost, s double som to >> neskusal, tam by asi ta nepresnost bola dalej :-) >> S BigDecimal som sa uz stretol, vyraz ako ((a-b) * c)/d sa zapisuje >> zhrubatakto ((a.sustract(b)).multiply(c)).divide(d) a to som tam este >> nedaval |MathContext >> <http://java.sun.com/j2se/1.5.0/docs/api/java/math/MathContext.html> a >> test an delenie 0,uz nech vydaju jdk7 :-) >> >> ya >> | >> > > >
