包含字符时的字符串到int

Cha*_*ham 5 java

简单的问题,但我遇到了麻烦.我有一个这种格式的String输入12:43.(MM:SS).
我正在尝试将此字符串转换为int(秒).我不知道怎么做的唯一部分是如何获得1243不获得invalid double error.因为它包含":"在字符串中,我不能照常做到Parse.parseInt(string);.

Mar*_*oun 9

  • split 根据的字符串 :
  • 对于int结果数组中的每个,请应用parseInt

  • 在这个具体的例子中,不需要特殊的正则表达式.你可以简单地做`String [] arr = myStr.split(":");` (3认同)
  • @Binghammer和`String [0]*60 + String [1]`将是总秒数 (3认同)
  • 伟大,像魅力一样工作.感谢大家 (3认同)

Pet*_*rey 5

你可以做

String s = "12:43";
int secs = (s.charAt(0)-'0')*600 + (s.charAt(1) - '0') * 60 
           + (s.charAt(3)-'0')*10 + s.charAt(4)-'0';
Run Code Online (Sandbox Code Playgroud)

要么

int secs = s.charAt(0)*600+s.charAt(1)*60+s.charAt(3)*10+s.charAt(4)-'0'*671;
Run Code Online (Sandbox Code Playgroud)

  • 嘿,嘿,如果你要编写混淆的代码,你也可以使用`mins`来表示这个变量.它显然代表"我的整数秒".:) (3认同)