Java 串双
我试着从屏幕上读文本,把它改成双倍,结果它崩溃了Java 串双,java,android,Java,Android,我试着从屏幕上读文本,把它改成双倍,结果它崩溃了 public void equesionOperation(int signNum1) { S_numInTV=TV_calcScreen.getText().toString(); S_numUp=TV_calcUp.getText().toString(); D_numIn=Double.parseDouble(S_numInTV); D_numToCalc=Double.p
public void equesionOperation(int signNum1) {
S_numInTV=TV_calcScreen.getText().toString();
S_numUp=TV_calcUp.getText().toString();
D_numIn=Double.parseDouble(S_numInTV);
D_numToCalc=Double.parseDouble(S_numUp);
switch (signNum1){
case 1: D_sum=D_numIn+D_numToCalc;break;
case 2: D_sum=D_numIn-D_numToCalc;break;
case 3: D_sum=D_numIn*D_numToCalc;break;
case 4: D_sum=D_numToCalc/D_numIn;break;
case 5: D_sum=Math.pow(D_numToCalc, D_numIn);break;
default: break;
}
S_sum=(""+D_numToCalc+" "+D_numIn);
}
这可能有助于找到碰撞的原因。将代码的第3和第4行替换为:
try {
D_numIn=Double.parseDouble(S_numInTV);
} catch (NumberFormatException nfe) {
System.out.printf("Attempted to parse a double, but found: '%s'%n", S_numInTV);
}
try {
D_numToCalc=Double.parseDouble(S_numUp);
} catch (NumberFormatException nfe) {
System.out.printf("Attempted to parse a double, but found: '%s'%n", S_numUp);
}
这些字符串值是文字还是数字
String str1 = "100.476";
Double dObj2 = Double.valueOf(str1);
System.out.println(dObj2);
上述代码不会出现任何异常,但
String str1 = "ss";
Double dObj2 = Double.valueOf(str1);
System.out.println(dObj2);
上述代码将出现NumberOmatException
所以,在将字符串转换为double之前,您必须确保输入的是哪个字符串 如果你详细阐述一下“It崩溃”会有所帮助。。。它会引发异常吗?哪一个例外?输入内容是什么?旁白:你也应该阅读。特别是,阅读以下内容:你的评论也没有帮助。
String str1 = "ss";
Double dObj2 = Double.valueOf(str1);
System.out.println(dObj2);