如何将字符串值转换为int值?

时间:2013-08-15 09:53:57

标签: java android

如果字符串不是数字,则我的代码不会显示日期。如果我用2,3,4这样的数字替换它,它可以正常工作,否则代码会抛出一个错误,如logcat所示:

java.util.IllegalFormatConversionException: d is incompatible with java.lang.String

这是代码:

String completedate;
String value;
mYear = mCalendar.get(Calendar.YEAR);
mMonth = mCalendar.get(Calendar.MONTH) + 1;

case R.id.e02:

    value = e02.getText().toString();

    completedate = 
        String.format("%02d", value)
        + String.format("%02d", mMonth)
        + mYear;

以下是我的logcat错误

 08-15 11:45:11.301: E/AndroidRuntime(1493): FATAL EXCEPTION: main
 08-15 11:45:11.301: E/AndroidRuntime(1493):    
 java.util.IllegalFormatConversionException: d is incompatible with java.lang.String
 08-15 11:45:11.301: E/AndroidRuntime(1493):    at  
 java.util.Formatter$Transformer.badArgumentType(Formatter.java:1452)
 08-15 11:45:11.301: E/AndroidRuntime(1493):    at  
 java.util.Formatter$Transformer.transformFromInteger(Formatter.java:1683)
 08-15 11:45:11.301: E/AndroidRuntime(1493):    at 
 java.util.Formatter$Transformer.transform(Formatter.java:1410)
 ...

4 个答案:

答案 0 :(得分:4)

按此转换:

int value =Integer.parseInt(string);

如果String为null,则检查:

if(string.length()>0 || !string.isEmpty()){

  int value =Integer.parseInt(string);

} else{
 // string is Null......
}

答案 1 :(得分:1)

使用此:

  

的Integer.parseInt(字符串)

答案 2 :(得分:1)

使用

 int value =Integer.parseInt(mystring);

http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String)

也可以使用try catch

抛出

NumberFormatException - 如果字符串不包含可解析的整数。

所以

 try{
      int value =Integer.parseInt(mystring);
  }catch(NumberFormatException e) 
  {

  }

不确定你在寻找什么。作为旁注,请查看此

日期

http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

编辑:

假设你是textview,而值是当天

       textView.setText(new StringBuilder()
          .append(mMonth ).append("-")
          .append(value).append("-")
          .append(mYear).append(" "));

答案 3 :(得分:0)

使用parseInt方法将字符串转换为整数

if (e01.getText().toString()== null || e01.getText().toString().isEmpty()) {
  // show error message
}
else{ 
   try{
      int sample = Integer.parseInt(e01.getText().toString());
    }
    catch(Exception e){
         //exception
    }
}