質問: double.valueof(dec.format(rawpercent)); それは動作しますが、20のような数がある場合、これは私にこれを与えます:20.0 そして、私はこれが欲しい:20.00 助言がありますか?
回答: decimalformatクラスは、10進数値を文字列に変換するためのものです。この例では、format()メソッドから取得したstringを取得し、double変数に戻しています。そのダブル変数を出力している場合、フォーマットされた文字列は表示されません。以下のコード例とその出力を参照してください。int count = 10; int total = 20; decimalformat dec = new decimalformat("#.00"); double rawpercent = ( (double)(count) / (double)(total) ) * 100.00; double percentage = double.valueof(dec.format(rawpercent)); system.out.println("df version: " + dec.format(rawpercent)); system.out.println("double version: " + percentage); どの出力:"df version: 50.00" "double version: 50.0"