[英]Basic java calculation issue
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 本质上是 integer,此值将传递给需要将 percentTrans 转换为字符串的编辑文本。 count 是 2,countTotal 是 3。但结果是 0。 有任何想法吗?
count/countTotal
也是int
并且(int)(2/3)
是0
。
写成(count*100/countTotal)
Integer 数学不像使用计算器 - 而是这样做:
int percentTrans = Math.round(count * 100.0f / countTotal);
这会将所有计算作为浮点数进行(当您将 100.0f 指定为浮点数时,它会隐式执行此操作),然后在最后将其四舍五入为适当的 integer 值
只需按照上面显示的答案进行计算,并将值放入编辑文本中,如下所示:
statText.setText(String.valueOf(percentTrans));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.