Android的数字格式异常(android number format exception)

2019-07-28 22:14发布

我得到下面的异常

java.lang.NumberFormatException:无效INT: “”

当您尝试将值保存到共享偏好,而没有被插入到输入字段它正在发生。 这是因为我解析输入为int(因为我需要做的数字减法)

这不是太大的问题,因为应用程序将使用应用程序想成为奇怪的工作,但只是柜面有人和尝试,并按下保存按钮,而无需输入我不希望它插入任何数据。

我曾尝试以下:

else if (obj ==null || obj.currentWeight.contains("")||obj.targetWeight.contains("")){
            AlertDialog.Builder builder = new AlertDialog.Builder(
                    MainActivity.this);
            builder.setTitle("No Data Stored");
            builder.setMessage("Please insert your target weight and your current weight and click Store Weight")
            .setPositiveButton("OK", null).show();

从我能辨认出,如果我保持在上述语句

else if (obj ==null){

然后,如果空插入对话框会打开,显示一条消息。

我得到的数字格式例外。

任何帮助,将不胜感激

Answer 1:

一般来说,异常处理是对这种意外的行为,一个好办法:

if( obj != null && obj.getTargetWeight() != null ) {
 try {
  int i = Integer.parseInt( obj.getTargetWeight() );
  //do something if target weight is a number
 } catch( NumberFormatException ex ) {
   //do something if target weight was not a number.
 }
}

---编辑以精确异常类型



文章来源: android number format exception