2012-11-02 16 views
8

私はJavaでグラフィカルな電卓プログラムを作っていて、ユーザー入力に基づいて操作を実行し、doubleを返してJTextFieldに表示するメソッドを持っています。しかし、私は小数点の後に有効数字が存在しないが、必要であれば小数点を表示する".0"を除いて、結果を整数で表示したい。これを行う最も効率的な方法は何ですか?doubleが整数の場合、小数点は表示されませんか?

+1

は、おそらく文字列に変換し、末尾の2つの文字が.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

関連する問題