【发布时间】:2020-03-08 09:54:53
【问题描述】:
我必须根据用户输入的小数位数对最终数字进行四舍五入。
像这样:
static String format(double var, double decimalPlaces) {
return String.format("%." + decimalPlaces + "f%n", var);
}
Scanner s = new Scanner(System.in).useLocale(Locale.US);
double s1,s2,sou,des;
s1 = s.nextDouble();
s2 = s.nextDouble();
des = s.nextDouble();
sou = s1 + s2;
System.out.printf(format(sou, des));
但是就行了:
return String.format("%." + decimalPlaces + "f%n", var);
它返回这个错误:
线程“main”java.util.UnknownFormatConversionException 中的异常:Conversion = '.'
我查看了该格式,但每个人都像我一样使用这种格式,并且还使用了带变量的 double。所以现在我不知道问题出在哪里。
有什么想法吗?谢了
【问题讨论】:
-
还有一个额外的
.,它来自您的double变量...尝试:... + (int) decimalPlaces + .....更好:int des = s.nextInt(); .... String format(double var, int decimalPlaces)
标签: java exception error-handling formatting