我可以在android上执行简单的除法和乘法吗

我可以在android上执行简单的除法和乘法吗,android,Android,我希望将检索到的数字计入计数,并找出其与全勤整数的百分比。以下是我的代码: attendanceButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { attendanceRef.whereEqualTo("sessionID", "5I0PLcpgmwdcjKLYLgkU").get().addOnComp

我希望将检索到的数字计入计数,并找出其与全勤整数的百分比。以下是我的代码:

attendanceButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            attendanceRef.whereEqualTo("sessionID", "5I0PLcpgmwdcjKLYLgkU").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {


                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                    if (task.isSuccessful()) {
                        int fullAttendance = 12;
                        int count = 0;
                        for (DocumentSnapshot document : task.getResult()) {
                            count++;
                            attendanceNumbs = findViewById(R.id.attendanceNums);
                            attendanceNumbs.setText((count/fullAttendance)*100 + " %" + "\n Attendance for this session");
                        }
                        Log.d("TAG", count + "");
                    } else {

                    }
                }
            });
attendanceButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
attendanceRef.whereEqualTo(“sessionID”,“5I0PLcpgmwdcjKLYLgkU”).get().addOnCompleteListener(新OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
int全勤率=12;
整数计数=0;
对于(DocumentSnapshot文档:task.getResult()){
计数++;
attendanceNumbs=findViewById(R.id.attendanceNums);
attendanceNumbs.setText((计数/全勤)*100+“%”+“\n本次会议的出席人数”);
}
Log.d(“标记”,计数+”);
}否则{
}
}
});

变量
fullAttention
count
都是整数,因此它们的除法结果也将是整数。您应该将其中一个操作数声明为
float
(双精度)或显式将其中一个操作数强制转换为除法,如下所示:

count/(float)fullAttendance

嗯,是的。*乘法和/或除法可能是重复的吗?我猜你的问题是你需要
(计数/全勤)*100.0
这里。如果你除以两个整数,每次都会被截断,可能会被截断为零。你需要浮点/双除法。是的,蒂姆,我每次都会得到0。我怎么能把它改成双精度呢?有没有完美的方法来限制小数点@Nickolas M.@SeanGallagher最简单的方法是得到除法结果为double(
count/(double)fullAttention
),然后用BigDecimal对其进行四舍五入:
BigDecimal.valueOf(result).setScale(3,RoundingMode.HALF_UP).toDouble()