2012-03-25 103 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