Java 如何将%02d:%02d:%02d转换为双精度?

Java 如何将%02d:%02d:%02d转换为双精度?,java,android,Java,Android,我正在使用文本视图设置时间 Min_txtvw.setText(String.format(mTimeFormat, hour, min, sec)); 现在 average=距离*60*60/秒//查找平均值的我的函数 几秒钟之内,我必须从Min_txtvw那里得到时间 我像下面这样做,但它给出了NumberformatException try { String s = Min_txtvw.getText().toString();

我正在使用
文本视图设置时间

Min_txtvw.setText(String.format(mTimeFormat, hour, min, sec));
现在
average=距离*60*60/秒
//查找平均值的我的函数 几秒钟之内,我必须从Min_txtvw那里得到时间 我像下面这样做,但它给出了
NumberformatException

    try {

             String s = Min_txtvw.getText().toString();
             double d = Double.valueOf(s.trim()).doubleValue();
             System.out.println("average distance is"+d);
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

如何转换
TextView
值并将其转换为双精度?

您将获得
NumberformatException
,因为变量S包含“:”字符串值,您需要使用
replaceAll()
方法替换这些值

试试下面的方法

try {
         String s = Min_txtvw.getText().toString();
         s.replaceAll ( ":","" );
         double d = Double.valueOf(s.trim()).doubleValue();
         System.out.println("average distance is"+d);
    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }

在这一行之后
String s=Min_txtvw.getText().toString()输出
System.out.println(s)并告诉我它显示了什么04-25 12:02:25.841:I/System.out(12690):s的值是00:01:18 04-25 12:02:25.841:I/System.out(12690):s的格式化值是00:01:18O_o,我建议您最好及时转换它,这样您就可以得到它的长值。另一个很长的方法是获取小时、分钟,然后乘以60,然后得到秒。