2015-12-03 34 views
0

我需要一些幫助,使用循環舍入到相等的位置。我有一些可行的代碼,但這是一個非常尷尬的方法,我不認爲這是好的編碼,真的需要一些for循環的幫助。格式位置 - java

我已經聲明上述,我會將其解析爲我的主類。

我需要實現一個for循環,幫助整齊此代碼,並刪除所有的「如果」和「否則,如果」聲明,任何幫助將非常感謝一些幫助。

謝謝

+0

你想要**這個值嗎?或者你想要**格式**嗎? –

+0

根據用戶輸入格式化它們。 1-10 – Mecroth

回答

1

你似乎有兩種截然不同的情況:

  1. noDecimal是1到10之間
  2. noDecimal爲0

因此,你的代碼需要看起來像這樣:

double decimalPlace = noDecimal; 
DecimalFormat formatter = new DecimalFormat("##.##########"); 

if (noDecimal == 0) { 
    decimalPlace = 0.00000000000000000000000000000000000000000001; 
} 
else { 
    decimalPlace = 1; 
    StringBuilder formatString = new StringBuilder(); 
    formatString.append("#0."); 
    for(int i = 0; i < noDecimal; i++) { 
     formatString.append("0"); 
     decimalPlace /= 10; 
    }  
    formatter = new DecimalFormat(formatString.toString()); 
} 

對於noDecimal的值爲2,此代碼將產生一個decimalPlace0.01(1 - > 0.1 - > 0.01)和格式化程序值#0.00

+0

是,清除了這一點,這是答案後 - 我不夠快,無法跟上你=),但是這是它是如何工作的^^ –

+0

@MartinFrank:有問題的標題和內容真的不匹配。 – npinti