我正在尝试制作一个用于计算CGPA的应用。我已经使用数字数据保存为Double变量类型。
执行后,它显示
java.lang.NumberFormatException:无效的double:“”
我的logcat错误。
它在这段代码上显示了错误:
total_credit = Double.parseDouble(ch1.getText().toString()) +
Double.parseDouble(ch2.getText().toString()) +
Double.parseDouble(ch3.getText().toString()) +
Double.parseDouble(ch4.getText().toString()) +
Double.parseDouble(ch5.getText().toString()) +
Double.parseDouble(ch6.getText().toString());
我试图将异常处理为:
try {
total_credit = Double.parseDouble(...);
} catch (NumberFormatException e) {
total_credit = 0.0;
}
现在执行时,同一行发生了错误,错误是:
ComponentInfo {com.example.aashish.cgpacalculator / com.example.aashish.cgpacalculator.calculator_page}:java.lang.NumberFormatException:无效的双精度字符:“”
最佳答案
您收到一个java.lang.NumberFormatException,并且如消息所提示,原因是您正在尝试解析或转换或对不是(在您的情况下为空字符串)进行双精度
怎么解决?
您可以始终在执行任何转换之前验证小部件是否持有空字符串
只是通过做
if (myString.isEmpty()) {
}