Mrknete se do Blocha (cesky jako Java efektivne: 57 zasad softwaroveho experta) na radu cislo 31. U double a float mate vzdycky velky problem, pokud provedete nejaky vypocet nekolikrat za sebou (treba v nejakem cyklu, apod.). To se pak budete divit, co vam vyjde.

Pro databazi je rozhodne vhodne pouzivat BigDecimal uz jenom proto ze tride ResultSet existuje metoda getBigDecimal, ktera vrati "double" nebo null. Podle me, pro jakakoliv desetinna cisla nema smysl pouzivat v JDBC jakykoliv jiny datovy typ.

Tom

Benda Lukas napsal(a):
Nemate tuseni proc se v JAVA napriklad 39.9 / 10 = 3.9899999999999998?

Potrebuji cislo zaokrouhlit napr. na dve desetina mista. Puziji jednocuchy vzorec Math.round(cislo * 100) / 100 bohuzel konkretne u cisla zmineneho vise to nejak nevychazi. Nevite co s tim?

S pozdravem Lukas Benda



Odpovedet emailem