2012-04-04 103 views
0
Cursor ca2 = dbh1.getReadableDatabase().query(DatabaseHelper.TABLE_NAME, null, null,  null, null, null, null); 
int countTotal = ca2.getCount(); 
Cursor ca1 = dbh1.getReadableDatabase().query(DatabaseHelper.TABLE_NAME, null, DatabaseHelper.VALUE6 + "='Automatic'", null, null, null, null); 
int count = ca1.getCount(); 

int percentTrans = ((count/countTotal)*100); 
statText=(EditText)findViewById(R.id.etext3); 
statText.setText(Integer.toString(percentTrans)); 

Toast toast=Toast.makeText(this, Integer.toString(percentTrans), 2000); 
toast.show(); 

你好,我這裏有一個愚蠢的問題。我想通過count count count除以count並將其乘以100得到百分比。percentTrans本質上是整數,這個值將被傳遞給一個編輯文本,它要求將percentTrans轉換爲字符串。 count是2,countTotal是3.但是我得到0作爲結果。有任何想法嗎?基本java計算問題

回答

4

count/countTotalint也和(int)(2/3)0

把它寫成(count*100/countTotal)

1

整型數學運算是不喜歡用計算器 - 這樣做,而不是:

int percentTrans = Math.round(count * 100.0f/countTotal); 

這樣做所有的計算作爲浮點數(如果指定它這個隱含的您的100.0f爲浮點數),然後將其四捨五入到最後的相應整數值

+0

Math.round會更好。 – kirilloid 2012-04-04 17:50:32

1

絕對值計算如上顯示的答案 並將值放在編輯文本中,如下所示:

statText.setText(String.valueOf(percentTrans));