我需要使用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)。
答案 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);