2012-11-02 596 views
8

我正在用Java編寫一個圖形化計算器程序,並有一個方法根據用戶輸入執行操作,並返回一個要在JTextField中顯示的雙精度值。但是,我希望結果顯示爲一個整數,但不包含以下".0"小數點後沒有有效數字,但在必要時仍顯示小數點。這樣做最有效的方法是什麼?如果double是整數,不顯示小數?

+1

也許轉換爲字符串,並通過使有條件操縱它那裏,如果後兩個字符是'.0'? – kush

+0

我將如何編寫一個條件來檢查尾隨字符? – Zero

+1

對使用​​[DecimalFormat](http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html)的問題有更好的迴應。請參閱下面的Reimeus的答案。 – kush

回答

8

可以使用DecimalFormat抑制拖尾字符,例如:

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

這有助於在所有情況下對輸出進行格式化,但如果尾部小數是「.0」,我只想消除尾隨小數。如果double是一個整數,我將如何編寫一個條件來只格式化輸出?謝謝你的幫助。 – Zero

+2

這個例子實際上是按照你的要求做的,小數點後的任何重要(非零)數字都將被顯示出來,所以不需要額外的檢查。 – Reimeus

+1

我很笨,我沒有注意到它打印了我想要的控制檯而不是JTextField的正確答案。謝謝你Reimeus! – Zero

相關問題