Android에서 내 고객을위한 새로운 회계 프로그램을 작성하고 있습니다. 어떤 경우에는 EditText 텍스트를 정수로 변환해야하지만, 구문 분석을 할 때 "- 1 "java.lang.NumberFormatException
가 발생했습니다.Integer.parseInt ("- 1") 오류가 발생했습니다.
내 문제를 이해하려면 다음을 시도하십시오. int i = Integer.parseInt ("- 1");
아무도 도와 줄 수 있습니까? 감사합니다.
이 코드입니다 :
int i = Integer.parseInt("-1");
이이 로그 추적입니다 :
07-09 03:33:36.932: E/AndroidRuntime(925): at dalvik.system.NativeStart.main(Native Method)
07-09 03:36:09.252: E/AndroidRuntime(985): FATAL EXCEPTION: main
07-09 03:36:09.252: E/AndroidRuntime(985): java.lang.NumberFormatException: Invalid int: "-1
07-09 03:36:09.252: E/AndroidRuntime(985): "
07-09 03:36:09.252: E/AndroidRuntime(985): at java.lang.Integer.invalidInt(Integer.java:138)
07-09 03:36:09.252: E/AndroidRuntime(985): at java.lang.Integer.parse(Integer.java:375)
07-09 03:36:09.252: E/AndroidRuntime(985): at java.lang.Integer.parseInt(Integer.java:366)
07-09 03:36:09.252: E/AndroidRuntime(985): at java.lang.Integer.parseInt(Integer.java:332)
07-09 03:36:09.252: E/AndroidRuntime(985): at forms.FYH_moshtari.UpdateRow(FYH_moshtari.java:149)
07-09 03:36:09.252: E/AndroidRuntime(985): at yhesabyargui.YMaster_Body.OnAccept(YMaster_Body.java:61)
07-09 03:36:09.252: E/AndroidRuntime(985): at yhesabyargui.YMaster_Body$10.onClick(YMaster_Body.java:321)
07-09 03:36:09.252: E/AndroidRuntime(985): at yhesabyargui.CYH_Ctrl_ToolItem.onClick(CYH_Ctrl_ToolItem.java:111)
07-09 03:36:09.252: E/AndroidRuntime(985): at android.view.View.performClick(View.java:4240)
07-09 03:36:09.252: E/AndroidRuntime(985): at android.view.View$PerformClick.run(View.java:17721)
07-09 03:36:09.252: E/AndroidRuntime(985): at android.os.Handler.handleCallback(Handler.java:730)
07-09 03:36:09.252: E/AndroidRuntime(985): at android.os.Handler.dispatchMessage(Handler.java:92)
07-09 03:36:09.252: E/AndroidRuntime(985): at android.os.Looper.loop(Looper.java:137)
이 완료 코드 :
public interface IYH_BodyControl {
void showError(String Caption);
void showHint(String Caption);
void setNormal();
String getValue();
void setValue(String Value);
void setEnable(Boolean Enable);
void setLabel(String Label);
void setVisible(Boolean Visible);
LinearLayout getFrame();
int getID();
Boolean ValidateForInsert();
Boolean ValidateForUpdate();
Boolean ValidateForDelete();
void ClearContent();
void Focus();
}
....
protected Hashtable<Integer, IYH_BodyControl> ctrls = new Hashtable<Integer, IYH_BodyControl>();
....
protected void InsertRow() {
tblmoshtari().setAddress(ctrls.get(ctrladdr).getValue());
tblmoshtari().setFname(ctrls.get(ctrlfname).getValue());
tblmoshtari().setFamily(ctrls.get(ctrlfamily).getValue());
tblmoshtari().setMobile(ctrls.get(ctrlmobile).getValue());
tblmoshtari().setTel(ctrls.get(ctrltel).getValue());
tblmoshtari().setMaxDebt(Integer.parseInt(ctrls.get(ctrlmaxdebt).getValue()));
tblmoshtari().Insert();
}
....
은 분명히인가?
당신은 첫 번째 문자는 보통 하이픈 것을 확신합니까? 엉덩이 대시 또는 화려한 하이픈이 아닌가? –
또한 전체 스택 추적을 게시 할 수 있습니까? – BackSlash
친애하는 David에게 아무것도, 단지 "-1"! –