2017-02-27 2 views
0

この値をIntegerとしてキャストできません。どのタイプがファイルできませんか(私はStringがわかります)。数字に変換する必要があります。Interger.parse()は動作しません。 Exceptionを入手してください。javaの型変数は何ですか?

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

が、何:そう代わりにこれを使用する

Integer.parseInt(str); 

しかし、あなたの文字列が整数とダブルでdとDの仕事を持っていませんこれは数字です:-10b ???? –

+0

「b」は、これが2進数であることを示しますか? –

+0

申し訳ありません私は変更を意味するd。 –

答えて

1

を使用してみてください。

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

この情報がお役に立てば幸い!

1

(該当する)または「-10d」(タイトルに記載)ですか?

もし - (数字)dなら、それは倍です。
は、あなたがあなたのStringintに変換するためにこれを使用することができます

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

代わりのInteger.parseInt

1

ここでは、double値を取得:

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

を整数値を取得する:parseメソッドの入力stringを変更

int intValue = d.intValue(); 

他のソリューションを、(私はしないでくださいされていますそれらをお勧めします):

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);がない修正されていないので:

String str = "-10d"; 
Double.parseDouble(str); 
関連する問題