2014-01-28 71 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」格式的字符串將是一項簡單的任務。

相關問題