마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 어플 만들고있는데 에러가 왜 나는지 모르겠습니다ㅠㅠ

0 추천

 DecimalFormat money = new DecimalFormat("#,###,###");
 
  
  totresult.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    
    
    if(  "".equals(etc3.getText().toString()))
    {
     etc3.setText(String.valueOf(money.format(etcvalue3)));
 
    }
    else
    {
     etcvalue3 = Integer.parseInt(etc3.getText().toString());
     etc3.setText(String.valueOf(money.format(etcvalue3)));
    }

    
    
    lastresult = (totalresult - naturevalue);
    lastvalue.setText(String.valueOf(money.format(lastresult)));
    
    lastlastlast = (totalresult - naturevalue + etcvalue1
      + etcvalue2 + etcvalue3 + etcvalue4 + etcvalue5);
    lastlast.setText(String.valueOf(money.format(lastlastlast)));
 ...
 
이게 메인소스입니다!!
 
 
 
04-11 15:20:47.853: W/dalvikvm(629): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
04-11 15:20:47.884: E/AndroidRuntime(629): FATAL EXCEPTION: main
04-11 15:20:47.884: E/AndroidRuntime(629): java.lang.NumberFormatException: Invalid int: "-4,342"
04-11 15:20:47.884: E/AndroidRuntime(629):  at java.lang.Integer.invalidInt(Integer.java:138)
04-11 15:20:47.884: E/AndroidRuntime(629):  at java.lang.Integer.parse(Integer.java:375)
04-11 15:20:47.884: E/AndroidRuntime(629):  at java.lang.Integer.parseInt(Integer.java:366)
04-11 15:20:47.884: E/AndroidRuntime(629):  at java.lang.Integer.parseInt(Integer.java:332)
04-11 15:20:47.884: E/AndroidRuntime(629):  at com.example.count.MainActivity$1.onClick(MainActivity.java:226)
04-11 15:20:47.884: E/AndroidRuntime(629):  at android.view.View.performClick(View.java:4084)
04-11 15:20:47.884: E/AndroidRuntime(629):  at android.view.View$PerformClick.run(View.java:16966)
04-11 15:20:47.884: E/AndroidRuntime(629):  at android.os.Handler.handleCallback(Handler.java:615)
04-11 15:20:47.884: E/AndroidRuntime(629):  at android.os.Handler.dispatchMessage(Handler.java:92)
04-11 15:20:47.884: E/AndroidRuntime(629):  at android.os.Looper.loop(Looper.java:137)
04-11 15:20:47.884: E/AndroidRuntime(629):  at android.app.ActivityThread.main(ActivityThread.java:4745)
04-11 15:20:47.884: E/AndroidRuntime(629):  at java.lang.reflect.Method.invokeNative(Native Method)
04-11 15:20:47.884: E/AndroidRuntime(629):  at java.lang.reflect.Method.invoke(Method.java:511)
04-11 15:20:47.884: E/AndroidRuntime(629):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
04-11 15:20:47.884: E/AndroidRuntime(629):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
04-11 15:20:47.884: E/AndroidRuntime(629):  at dalvik.system.NativeStart.main(Native Method)
 
이건 에러 메시지인데요ㅠㅠㅠㅠ
에러나는 경우가 뭐냐면
처음 입력하고실행버튼을 누르면
계산이 되긴하는데
값을 바꿔서 다시 입력을하면.. 바로 오류뜨면서 가상기기에 에러가뜨면서
바로 그냥 꺼져버립니다ㅠㅠ
해결방안좀 부탁드려용...
 
 
 
 
최선종 (120 포인트) 님이 2015년 4월 12일 질문

1개의 답변

0 추천
java.lang.NumberFormatException: Invalid int: "-4,342"

etc3에 있는 값이 숫자가 아닐경우에 생기는 오류입니다.

콤마를 없애주세요..
hater (6,600 포인트) 님이 2015년 4월 12일 답변
...