我不能把这个值作为Integer
,我不能提交什么类型(我知道是String
)但我需要转换为数字,Interger.parse()
不起作用我得到Exception
。什么是java中的类型变量 - (数字)d
String str = "-10d";
Interger.parse(str); //I get Exception
我不能把这个值作为Integer
,我不能提交什么类型(我知道是String
)但我需要转换为数字,Interger.parse()
不起作用我得到Exception
。什么是java中的类型变量 - (数字)d
String str = "-10d";
Interger.parse(str); //I get Exception
您可以使用此转换您String
到int
double b = Double.parseDouble("-10d");
。
String str = "-10d";
int i = Double.valueOf(str).intValue();
希望这有助于!
String str = "-10b"
(提及的问题)或“-10d”(标题中提到)?
如果你的意思是 - (数字)d,那么它是双倍的。
尝试,而不是使用Integer.parseInt
在这里,你得到double
值:
String str = "-10d";
Double d = Double.parseDouble(str);
System.out.println(d);
而获得整数值:
int intValue = d.intValue();
其他的解决方案,它改变输入string
为parse
方法是(我不推荐他们):
int x = Integer.valueOf(str.substring(0, str.length() - 1));
int y = Integer.valueOf(str.replace('d', ' ').trim());
@Tom感谢提示,没有想到这种变化的结果 –
你得到Excep重刑,因为它是不正确的,没有Interger.parse(str);
我想你想:
Integer.parseInt(str);
但是你的字符串有d
和双d工作不整等等,而不是使用这样的:
String str = "-10d";
Double.parseDouble(str);
但什么这是一个数字:-10b? –
你是否打算“b”表示这是一个二进制数? –
对不起,我改变我的意思是d。 –