将"15:45"之类的字符串转换为15.45之类的双字符串

Ilj*_*lja 1 java string double

我正在努力弄清楚如何将像"15:45"这样的字符串转换为像15.45这样的双字母,我以前遇到过.toString()类似的方法,并且正在查找类似的方法来使用以将字符串转换为double,但是有几个问题,我需要弄清楚如何:成为一个.双点插入点的地方.

这是我想用它的地方.

if(westOne > (takeOff.firstInQueue().time)) {}
Run Code Online (Sandbox Code Playgroud)

目前westOne是一个double地方作为takeOff.firstInQueue().time是一个串像"16.15"我假设我需要创建自己的方法来得到这个工作,所以我可以比它的结束申请吗?

Mar*_*oun 8

你可以简单地说:

myDouble = Double.parseDouble(myStr.replace(":", "."));
Run Code Online (Sandbox Code Playgroud)

如果这真的是你想要的,那将替换为:,.并且String x:y将是double x.y.


编辑:

如果你想要添加5分钟的时间,你可以添加0.05double并将其转换回String,但这不是一个很好的方法,因为:

  • 您应该处理类似的情况14:55,添加0.05结果14.6.
  • 而像的情况下14:45,其中加入0.05将导致14.5(无05).

如果你想要的只是添加5分钟,你可以使用SimpleDateFormatCalendar:

String myStr = "17:23";
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
Date date = df.parse(myStr ); 
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MINUTE, 5);
myStr = dateFormat.format(calendar.getTime()); //Now myStr will be 17:28
Run Code Online (Sandbox Code Playgroud)