2012-03-25 79 views
4

我想知道如何提供格式化功能,使用户能够指定十进制数右侧的精度位数。所以不要使用经典格式.2f或.3f等。我希望用户能够输入十进制数的精度。在java中格式化字符串

我已经写了代码如下

Scanner input = new Scanner (System.in); 
int precision = input.nextInt(); 

addNumbers.numberRepresentaiton(int precision); 

的方法被定义为下面

private String numberRepresentation(int precision) 
{ 
    return String.format("%.precisionf", add); 
} 

执行在转换格式错误上述结果。 谢谢你的时间。

+0

有趣的问题,我很好奇呢! – Coffee 2012-03-25 21:16:56

+1

啊,我知道阿德尔!我考虑了大约10分钟,并没有考虑将其串联起来作为解决方案。无论如何问题解决:) – Sinan 2012-03-25 21:24:22

回答

6
private String numberRepresentation(int precision) 
{ 
    return String.format("%." + precision + "f", add); 
} 

你必须串联格式字符串 - 该Formatter无法检测变量名自动的;)

+0

谢谢安德烈亚斯,它的作品,它是正确的答案。 – Sinan 2012-03-25 21:11:57

+0

+1为自动,几乎要编辑拼写! – 2012-03-25 21:12:08

2

用途:

return String.format("%." + precision + "f", add); 
+0

谢谢你的冰冷! – Sinan 2012-03-25 21:13:08

+0

当然,很乐意帮忙! – 2012-03-25 21:14:49