2014-01-28 40 views
1

我遇到的问题是我有一个时间字符串,用“hh:mm:ss”表示,服务器只接受浮动数字的时间(这是超出我的控制)。Android(Java)将hh:mm:ss时间字符串转换为数字表示形式

目前我正在删除字符串中的所有':'字符,例如“11:23:23”变为“112323”。

随着 “新” 字符串,然后我可以将其转换为数字表示,例如:

INT X =的Integer.parseInt(“112323);

这将产生整数值112323.

现在,我的问题是因为它是一个计时器,有时在字符串中表示的时间是相当低的。如果我有时间字符串“00:00:01”,并删除了“:”字符它会产生整数值为1.

这是因为如果上午没有错误,整数值000001将被“修剪”,因为0不会改变整数的值,所以返回值1。

有没有一种方法可以指定我要显示完整的6位数字,而不管它们在数字值方面可能“无关紧要”?

我的代码:

String timeTrimmed = pois.get(i).getTimeStamp().replaceAll(":",""); 
       int result = Integer.parseInt(timeTrimmed); 

是有可能做这样的事情:

String timeTrimmed = pois.get(i).getTimeStamp().replaceAll(":",""); 
       int result = Integer.parseInt(######,timeTrimmed); 

与代表我想整数保留所有数字的事实#?

我希望你明白我的意思,

干杯, 克里斯。

+0

做到这一点的唯一方法是将数字表示保留在String对象中。一个'Integer'对象总是修剪零。 – Manitoba

+0

你确定你不需要以毫秒为单位的时间而不是那个伪十进制表示? –

+0

为什么不把刺痛分成“:”现在你会得到一个数组,其中包含表示小时,分钟和秒的字符串。将所有这些解析为整数。将分钟数乘以60,将小时数乘以3600.将这三部分相加,然后以秒为单位(整数)。 –

回答

0

为什么不把刺痛分成“:”?
现在,您将拥有一个包含表示小时,分钟和秒的字符串的数组。
解析他们所有的整数。
将分钟乘以60,将小时乘以3600.
总结三部分,并且您有时间(秒)(整数)。

在网络的另一端,将秒解码为“hh:mm:ss”格式的字符串将是一项简单的任务。

相关问题