0

如果日期是字符串而不是数字,我的代码不会显示日期。如果我用 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

4 回答 4

4

按此转换:

int value =Integer.parseInt(string);

如果 String 为空,则检查:

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

  int value =Integer.parseInt(string);

} else{
 // string is Null......
}
于 2013-08-15T09:57:15.590 回答
1

用这个 :

Integer.parseInt(字符串)

于 2013-08-15T09:56:16.843 回答
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 和 value 是一天

       textView.setText(new StringBuilder()
          .append(mMonth ).append("-")
          .append(value).append("-")
          .append(mYear).append(" "));
于 2013-08-15T09:56:46.397 回答
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
    }
}
于 2013-08-15T09:59:38.977 回答