我不能将此值转换为Integer
,也无法提交类型是什么(我知道是String
),但我需要转换为数字,Interger.parse()
不起作用,我得到Exception
.
String str = "-10d";
Interger.parse(str); //I get Exception
您可以使用它将String
转换为int
。
String str = "-10d";
int i = Double.valueOf(str).intValue();
希望这有帮助!
String str = "-10b"
(在有问题中提到)还是"-10d"(在标题中提到)?
如果你的意思是-(数字)d,那么它是双倍的。
尝试
double b = Double.parseDouble("-10d");
而不是使用Integer.parseInt
你得到异常,因为它不正确,我认为你想做的没有Interger.parse(str);
:
Integer.parseInt(str);
但是你的字符串有d
和 d 与 Double 一起工作,而不是与整数一起工作,所以改用这个:
String str = "-10d";
Double.parseDouble(str);
在这里你得到double
值:
String str = "-10d";
Double d = Double.parseDouble(str);
System.out.println(d);
并获取整数值:
int intValue = d.intValue();
更改parse
方法的输入string
的其他解决方案是(我不推荐它们):
int x = Integer.valueOf(str.substring(0, str.length() - 1));
int y = Integer.valueOf(str.replace('d', ' ').trim());