

Java'da double ın tutulma şekli ile alakalı bir durum bu. O nedenle Java'da çok hassas sayılarla işlem yapıyorsanız Double yerine BigDecimal sınıfını kullanın. Double kullanmak istiyorsanız bulduğunuz sonuçları yuvarlamanız gerek. Bunu da DecimalFormat kullanıp sayının virgülden sonraki belli bir kısmını atarak ya da yine BigDecimal sınıfının setScale metodunu kullanarak yapabilirsiniz.
SO dan benzer konuda bir soru, Java'da klasik sorulan şeylerden biridir bu olay: