倍精度浮動小数点値を表示するには、フォーマッタを使用して文字列を作成する必要があります。それをコード化する方法については明確ではありません。ここに私が持っているものがあります:
Double dWeightInKg = 100;
Double dWeightInLbs = 220:
String headerText = String.format("%.0f kg / %.0f lbs",Double.toString(dWeightInKg) , Double.toString(dWeightInLbs));
次の出力を探しています。
100 kg / 220 lbs
String.format行にruntimeexception-badArgumentType(formater)が表示されます。
%.0fは、小数点以下0桁のフロートのフォーマット文字列です。
String.formatに渡す値は、Double、Doubleにする必要がある場合はString、Stringです。
Doubleを文字列に変換する必要はありません。
String headerText = String.format("%.0f kg / %.0f lbs", dWeightInKg, dWeightInLbs);
これはうまくいくはずです
DecimalFormat df = new DecimalFormat("#.##");
private String convertToFormat(double value){
return df.format(value);
}
フォーマッタはすでに数値を想定しているため、Double.ToString()は必要ありません。これを試して:
String headerText = String.format("%.0f kg / %.0f lbs", dWeightInKg , dWeightInLbs);