【发布时间】:2014-02-10 12:44:56
【问题描述】:
我的持续时间目前是以秒为单位的双格式。我如何转换它做显示,多少小时,分钟和秒。如果我只是除以 60,就会有余数。另外,我如何将我的双精度转换为整数?如果我只是将我的时间初始化为 Integer,则会出现错误:
“类型不匹配:无法从 double 转换为 int”` at "time=n*30+r1;"
*编辑(对不起,我写错了输出):*让我们说秒是 132 秒。我想在 0 小时 2 分 12 秒内完成
double time = 0;
double hourTime=0;
double minTime=0;
btnStartMove.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
startButtonClicked=true;
startDistance=true;
counter= new MyCount(30000,1000);
counter.start();
btnStartMove.setText("Started...");
}
});
//button to get duration
btnDuration.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
if(startButtonClicked=true)
{
time=n*30+r1;
velocity=dist/time;
DecimalFormat df = new DecimalFormat("#.##");
Toast.makeText(MainActivity.this,"Duration :"+String.valueOf(time) + "Speed :"+String.valueOf(df.format(velocity)),Toast.LENGTH_LONG).show();
}
}
});
public class MyCount extends CountDownTimer{
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
counter= new MyCount(30000,1000);
counter.start();
n=n+1;
}
@Override
public void onTick(long millisUntilFinished) {
s1=millisUntilFinished;
r1=(30000-s1)/1000;
}
}}
【问题讨论】:
-
你在寻找这个双倍 d = 5.555d; int n = (int)d;