2012-11-30 64 views
-4

對於我的項目之一,我必須將字符串轉換爲整數。如何將"16:45:20"字符串轉換爲java中的整數。我使用字符串到整數轉換

int time = Integer.parseInt(string) 

它給我NumberFormatException錯誤。如何解決這個

感謝

+6

你有什麼期望的結果呢? 16小時45分20秒作爲秒值?日期/時間整數(自UNIX紀元以來的秒數)? – Eric

+0

您是否使用過http://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html? – Siddharth

回答

1

你不能直接轉換爲整數,因爲"16:45:20"是無效整數

您可能需要基於:拆分分隔符

然後遍歷String[]和轉換每個對應的int。

你會得到三個不同的整數16,45,20

String[] tempArr = str.split(":"); 
int val1 = Integer.valueOf(tempArr[0]); 
+0

可以給我一個例子 – Prasad

+0

@Prasad:增加了一些示例代碼。 – kosa

+0

感謝您的幫助。對於我的項目,我用16:45:20的格式給時間。 whenevr我試圖解析爲整數其num格式錯誤。如何解決這個問題 – Prasad

0

需要先通過拆分字符串「:」然後附加到字符串

+0

即使:分裂,它不能翻譯成164512,它不是一個可回收的價值。顯而易見,他正試圖將時間轉化爲長時間存儲在某個地方。 – Siddharth

0

下面的代碼ü可以像這樣將Java檢查..

public class ConvertStringToInt { 
    public static void main(String[] args) { 
    String aString = "78"; 
    int aInt = Integer.parseInt(aString); 

    System.out.println(aInt); 
    } 
} 

其他示例

import java.io.*; 
import java.lang.*; 

public class StringToInt{ 
    public static void main(String[] args)throws IOException { 
    BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 
    System.out.println("Enter an integer number: "); 
    String str = bf.readLine(); 
    int i = Integer.parseInt(str); 
    System.out.println("String: " + str); 
    System.out.println("Integer: " + i); 
    } 
} 

例如這裏有兩種方法(差別在返回類型):

Integer x = Integer.valueOf(str); 
int y = Integer.parseInt(str); 
2

你想幹什麼就回去呢?時間跨度中的秒數?或者這是24H格式的時間?你希望從你的示例輸入字符串得到什麼樣的整數?如果你只是想把數字字符當作一個整數,那麼是的,你需要拆分冒號上的字符串,然後連接它,然後解析int。

0

你不能直接轉換爲整數,因爲「16時45分20秒」是無效的整數

您可能需要分割。

試試這個方法:

String str = "16:45:20"; 

    String[] split = str.split(":"); 
    System.out.println("Hour :========>"+split[0]); 
    System.out.println("Min :========>"+split[1]); 
    System.out.println("Sec :========>"+split[2]); 

    int hour = Integer.valueOf(split[0]); 
    int Min = Integer.valueOf(split[1]); 
    int Sec = Integer.valueOf(split[2]); 
0

-您需要使用:分隔符將其轉換爲INT之前分裂String

如:

String s = "16:45:20"; 
String[] arr = s.split(":"); 

int x = Integer.parseInt(arr[0]); 
int y = Integer.parseInt(arr[1]); 
int z = Integer.parseInt(arr[2]);