[英]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.