Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:双值字符串格式_Java_Android_String Formatting - Fatal编程技术网

Java Android:双值字符串格式

Java Android:双值字符串格式,java,android,string-formatting,Java,Android,String Formatting,我需要使用格式化程序创建一个字符串来显示一些双浮点值。我不清楚如何编写代码。以下是我所拥有的: Double dWeightInKg = 100; Double dWeightInLbs = 220: String headerText = String.format("%.0f kg / %.0f lbs",Double.toString(dWeightInKg) , Double.toString(dWeightInLbs)); 我正在寻找以下输出: 100 kg / 220 lbs 我

我需要使用格式化程序创建一个字符串来显示一些双浮点值。我不清楚如何编写代码。以下是我所拥有的:

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(格式化程序)

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

    return df.format(value);
}

%.0f是浮点的格式字符串,小数点后0位

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

不需要将双精度转换为字符串

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

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

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

谢谢你的回复。我早该知道的!此外,您将看到提示,提示您应该显式地确定
String.format()
的区域设置。避免此提示可能会导致应用程序中出现错误。更多信息:谢谢你的回复。我应该先睡一觉再问!!谢谢你的回复。其实很简单。