2012-11-02 35 views
8

Java'da grafiksel bir hesap makinesi programı hazırlıyorum ve kullanıcı girdisine dayalı bir işlemi gerçekleştiren bir yönteme sahibim ve bir JTextField'da görüntülenecek bir çift döndürür. Bununla birlikte, sonucun ondalık noktadan sonra anlamlı bir basamak bulunmadığı halde, yine de gerekli olduğunda ondalık sayıları göstermesi durumunda, ".0" no'lu olmadan, tam sayı olarak görüntülenmesini istiyorum. Bunu yapmanın en etkili yolu nedir?İkili tam sayı ise ondalık göstermiyor mu?

+1

Belki bir dizeye dönüştürmek ve sondaki iki karakter .0' 'eğer bir şartlı yaparak bunu orada manipüle? – kush

+0

Takip eden karakterleri kontrol etmek için nasıl koşullu yazarım? – Zero

+1

[DecimalFormat] (http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html) kullanan soruna daha iyi bir yanıt var. Lütfen aşağıda Reimeus'un cevabına bakınız. – kush

cevap

8

Sen sondaki karakterleri, ör .: bastırmak için DecimalFormat kullanabilirsiniz

DecimalFormat format = new DecimalFormat("#.##"); 
double doubleFromTextField = Double.parseDouble(myField.getText()); 
System.out.println(format.format(doubleFromTextField)); 
+0

Bu, çıktıların her durumda biçimlendirilmesine yardımcı olur, ancak yalnızca sondaki ondalık ".0" ise, sondaki boşlukları ortadan kaldırmak istiyorum. Çifte tam sayı ise çıktının formatlanması için nasıl şartlı yazabilirim? Yardım ettiğin için teşekkür ederim. – Zero

+2

Bu örnek, aslında sizden istediklerinizi yapar, ondalık noktadan sonraki anlamlı (sıfırdan farklı) rakamlar görüntülenir, dolayısıyla ek kontrollere gerek yoktur. – Reimeus

+1

Çok aptalım, JTextField yerine konsolda istediğim doğru cevabı yazdırdığını fark etmedim. Teşekkürler Reimeus! – Zero