JAVA – Virgülden Sonra Basamak Sayısı

Merhabalar,

C#’ta ondalıklı sayıların kullanımında virgülden sonra istediğimiz kadar ondalık adedinde göstermek için Math.Round gibi kendi kütüphanesinde bir metodu mevcuttu. Ancak Java’da maalesef böyle bir metot doğrudan bulunmuyor. Yabancı kaynaklarda, yazılımcıların bu konuda hazırladıkları kendi metotlarına da ulaşabileceğiniz gibi, aşağıda sizler için derlemiş ve denemiş olduğum iki metottan faydalanabilirsiniz ve kendi ihtiyacınıza göre revize edebilirsiniz:

1) new DecimalFormat(“##.##”)

public static void main(String[] args) {public static void main(String[] args)

{

double sayi1 = 11.94648466876568768787656;

double sayi2 = 575.546846846846846847;

System.out.println(“Sayıların toplamı = “+(sayi1+sayi2));

System.out.println(“Sayıların toplamı = “+ new DecimalFormat(“##.##”).format(sayi1+sayi2));

System.out.println((“Sayıların toplamı = “+ new DecimalFormat(“##.##”).format(sayi1+sayi2)).replace(‘,’, ‘.’));

}

Programın çıktısı : 


2) Bununla ilgili Math.Round’a benzer kullanabileceğiniz bir metot:

Programın çıktısı:

Emre Alan hakkında 116 makale
Civil Engineer - Geophysical Engineer - Software Developer - 3D Modeler - Beşiktaş Fan - Animal Lover - Kerbonaut

2 yorum

  1. Hocam, merhaba DecimalFormat ile girilecek rakami tanımladığımızda, girilen rakamin sonu 9 ile bitiyorsa solundaki rakami yuvarliyor. Bunun onune geçmek için ne yapabiliriz

    • Merhaba,
      Üzerinde çalışıyorum ancak hızlı bir tüyo vereyim.
      Virgülden sonraki haneyi sadece 9’da değil, 5 ve üzerindeyse otomatik yuvarlar.
      Aklıma hali hazırda bunun önüne geçecek matematik kütüphanesinden bir komut gelmiyor.
      Ancak yuvarlamamasını istiyorsanız şöyle uzun bir yöntem deneyebilirsiniz.
      Örneğin rakam 15.137.
      Siz virgülden sonra 15.13’ü isterseniz, decimal format bunu size 15.14 olarak gösterecektir.
      Ancak 15.137’yi string’e dönüştürüp SUBSTRING(0,5) ile “15.13” olarak string ifade alıp bunu tekrar dönüşüm formülüyle decimal’a çevirebilirsiniz.
      Aklıma şu anda ilk gelen bu oldu, ancak matematik kütüphanesini araştırıp, deneyip derleyip ayrıca sonuç yazacağım.

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*