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