2012-08-29 17 views
11

ダブルフロート値を表示するにはFormaterを使用してStringを作成する必要があります。私はそれをコード化する方法について明確ではない。ここで私が持っているものです。Android:Double形式の文字列形式

Double dWeightInKg = 100; 
Double dWeightInLbs = 220: 
String headerText = String.format("%.0f kg/%.0f lbs",Double.toString(dWeightInKg) , Double.toString(dWeightInLbs)); 

私は次のような出力を探しています:

100 kg/220 lbs 

私はのRuntimeExceptionを取得する - badArgumentType(フォーマッタ)私String.Formatのラインに。

答えて

21

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

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

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

String headerText = String.format("%.0f kg/%.0f lbs", dWeightInKg, dWeightInLbs); 
+0

返事をありがとう。私はよく知っていたはずです! – wyoskibum

6

これは動作するはずです、

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

    return df.format(value); 
} 
+0

お返事ありがとうございます。それは実際には単純なものでした。 – wyoskibum

2

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

+0

返事をありがとう。私は尋ねる前にそれで眠っていたはずです! – wyoskibum