Android 为什么不是小数?

Android 为什么不是小数?,android,android-studio,Android,Android Studio,我有一个Seekbar,它控制底部的计时器。我很好奇,当我移动seek栏时,为什么值不是十进制的 这是代码 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l

我有一个Seekbar,它控制底部的计时器。我很好奇,当我移动seek栏时,为什么值不是十进制的

这是代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SeekBar timeController = (SeekBar) findViewById(R.id.timeController);
        final TextView tV = (TextView) findViewById(R.id.tV);

        timeController.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

                int minutes =  progress / 60;
                int seconds =  progress - minutes*60;

                tV.setText(String.valueOf(minutes) + ":" +String.valueOf(seconds) );
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
    }
}

您将分钟和秒变量声明为
int
。将它们更改为
double
以显示小数。

将分钟和秒变量声明为
int
。将它们更改为双精度以显示小数。

它们被定义为整数。什么会保存任何十进制值?此外,您还可以将秒数设置为
进度%60
。不确定它是否更快,但更容易看到它在做什么。我尝试过将它改为双精度,但它从0.0变为1.0,然后变为2.0。进度看起来是一个整数,所以我不确定有没有比最接近的秒更精确的方法:它们被定义为整数。什么会保存任何十进制值?此外,您还可以将秒数设置为
进度%60
。不确定它是否更快,但更容易看到它在做什么。我尝试将它更改为double,但它从0.0变为1.0,然后变为2.0。看起来进度是一个整数,所以我不确定有没有比最近的一秒更精确的方法:我试过把它改成两倍,但从0.0改成1.0,然后2.0尝试让进度加倍,我试过把它改成两倍,但从0.0改成1.0,然后2.0尝试让进度加倍