Integer.parseInt(" -1")导致错误

时间:2014-07-09 08:05:11

标签: java android integer parseint negative-number

我正在Android上为我的客户编写新的会计程序,在某些情况下我需要将EditText的文本转换为整数,但是当我想解析“ - 1” {{1发生了!

了解我的问题试试这个:      int i = Integer.parseInt(“ - 1”);

任何人都可以帮助我吗? 谢谢!

这是代码:

java.lang.NumberFormatException

这是日志跟踪

  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)

是否清楚?

2 个答案:

答案 0 :(得分:0)

我认为日志错误显示-one -

后面有空格
 java.lang.NumberFormatException: Invalid int: "-1 
 07-09 03:36:09.252: E/AndroidRuntime(985): "

就像

 Invalid int: "-1 " 

我建议做

 String num = "-1";
 Integer.parseInt(num.trim());

答案 1 :(得分:0)

请检查文本,看它是否包含任何不可见的字符,如空格。在将文本转换为int之前尝试修剪文本。 int i = Integer.parseInt(“ - 1”);应该没有任何问题。