3 Mart 2009 Salı

BigDecimal, 2, ROUND_HALF_UP

Birkaç tane BigDecimalli değeri önce 100 ile çarpıp herhangi bir BigDecimal'e bölmek istedim fakat, debug modda hatanın nerede olduğunu anlamaya çalışırken, o satırları direk atlıyordu...

Bunun nedeni ise devirli sayılar yüzünden işlemin kesin bir sonucu olmamasıydı.

Devirli sayırları düzeltmek için ise ; BigDecimal, 2, ROUND_HALF_UP kalıbını kullanıyoruz. Bu devirli sayılarda yuvarlama yapıyor. Mesala : 72.9944 lu bir sayıyı 73 olarak ayarlıyor.

yapmak istediğim kod işlemi

netX= net.multiply(100).divide(ykNetToplam);

gibi bir satırdı. Tüm değişkenlerin değerleri gelmesine rağmen sonuc netX'e aktarılmıyordu.

Bunun devamına ise:

netX= net.multiply(100).divide(ykNetToplam,2, BigDecimal.ROUND_HALF_UP);

değerlerini atadık. ve sorunsuz bir sekilde hata kontrolü (debug) yapıldı.

Hiç yorum yok:

Yorum Gönder