Android:具有Double值的字符串格式

时间:2012-08-29 01:43:10

标签: java android string-formatting

我需要使用Formater创建一个String来显示一些双浮点值。我不清楚如何编码它。这就是我所拥有的:

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)。

3 个答案:

答案 0 :(得分:29)

%。0f是浮点数的格式字符串,带有0位小数。

传递给String.format的值是String,String,当需要Double,Double时。

您无需将双打转换为字符串。

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

答案 1 :(得分:8)

这应该有效,

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

    return df.format(value);
}

答案 2 :(得分:2)

您不需要Double.ToString(),因为您的格式化程序已经预期了一个数字。试试这个:

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