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 が null の場合は、次を確認します。

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.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 に答える