2012-11-30 52 views
0

我構建了一個簡單的文本編輯器,我還添加了閱讀的百分比。我認爲一切都好(在我的手機和3個模擬器上),但在其他設備上崩潰。2個數字的百分比

我不明白是什麼問題。任何幫助?

public void perc(){ 
    float perc3; 
    perc3=((a)*100)/(float)b; 
    NumberFormat numberFormat = DecimalFormat.getInstance(); 
    numberFormat.setMaximumFractionDigits(2); 
    String formattedText = numberFormat.format(perc3); 
    perc= new Double(formattedText); 
} 
+0

請發佈異常的logcat堆棧跟蹤。 – Simon

+0

你確定無效類型嗎?它可以是雙重的,浮動的或任何其他的回報? – hakiko

+0

模擬器不會崩潰(崩潰在我的朋友的手機上) –

回答

1

如果您所說的,您確定b永遠不會是0,那麼爲什麼不嘗試一種不同的方法來獲得2個小數位數?它似乎不太容易出錯和更高效:

public double perc() 
{ 
    long perc3 = Math.round(a*10000/(double)b); 
    return perc3/(double) 100; 
} 

我希望這有助於。如果你仍然崩潰,我很確定它不在這段代碼中。

+0

完美!完美運行!謝謝!!! –