我正在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)
是否清楚?
答案 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”);应该没有任何问题。