22

いくつかの double float 値を表示するには、Formater を使用して文字列を作成する必要があります。私はそれをコーディングする方法について明確ではありません。ここに私が持っているものがあります:

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) が発生します。

4

3 に答える 3

38

%.0fは、小数点以下0桁のfloatのフォーマット文字列です。

String.formatに渡す値は、Double、Doubleである必要がある場合は、String、Stringです。

ダブルスを文字列に変換する必要はありません。

String headerText = String.format("%.0f kg / %.0f lbs", dWeightInKg, dWeightInLbs);
于 2012-08-29T01:46:42.320 に答える
10

これはうまくいくはずです、

DecimalFormat df = new DecimalFormat("#.##");
private String convertToFormat(double value){

    return df.format(value);
}
于 2012-08-29T01:46:21.480 に答える
2

フォーマッターはすでに数値を期待しているため、Double.ToString()は必要ありません。これを試して:

String headerText = String.format("%.0f kg / %.0f lbs", dWeightInKg , dWeightInLbs);
于 2012-08-29T01:47:27.700 に答える