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 除以 countTotal 并将其乘以 100 来获得百分比。 percentTrans 本质上是整数,这个值将传递给需要将 percentTrans 转换为字符串的编辑文本。count 是 2,countTotal 是 3。但结果是 0。有任何想法吗?

4

3 回答 3

4

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

把它写成(count*100/countTotal)

于 2012-04-04T17:39:05.767 回答
1

整数数学不像使用计算器 - 而是这样做:

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

这会将所有计算作为浮点数进行(当您将 100.0f 指定为浮点数时,它会隐式执行此操作),然后将其四舍五入到最后的适当整数值

于 2012-04-04T17:44:32.797 回答
1

只需按照上面显示的答案进行计算,并将值放入编辑文本中,如下所示:

statText.setText(String.valueOf(percentTrans));
于 2012-04-04T17:48:27.510 回答