2017-02-27 77 views
0

我不能把這個值作爲Integer,我不能提交什麼類型(我知道是String)但我需要轉換爲數字,Interger.parse()不起作用我得到Exception什麼是java中的類型變量 - (數字)d

String str = "-10d"; 
Interger.parse(str); //I get Exception 
+1

但什麼這是一個數字:-10b? –

+0

你是否打算「b」表示這是一個二進制數? –

+0

對不起,我改變我的意思是d。 –

回答

1

您可以使用此轉換您Stringint

double b = Double.parseDouble("-10d"); 

String str = "-10d"; 
int i = Double.valueOf(str).intValue(); 

希望這有助於!

1

String str = "-10b"(提及的問題)或「-10d」(標題中提到)?

如果你的意思是 - (數字)d,那麼它是雙倍的。
嘗試,而不是使用Integer.parseInt

1

在這裏,你得到double值:

String str = "-10d"; 
Double d = Double.parseDouble(str); 
System.out.println(d); 

而獲得整數值:

int intValue = d.intValue(); 

其他的解決方案,它改變輸入stringparse方法是(我不推薦他們):

int x = Integer.valueOf(str.substring(0, str.length() - 1)); 
int y = Integer.valueOf(str.replace('d', ' ').trim()); 
+1

@Tom感謝提示,沒有想到這種變化的結果 –

1

你得到Excep重刑,因爲它是不正確的,沒有Interger.parse(str);我想你想:

Integer.parseInt(str); 

但是你的字符串有d和雙d工作不整等等,而不是使用這樣的:

String str = "-10d"; 
Double.parseDouble(str); 
相關問題