簡體   English   中英

基本java計算問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM