【问题标题】:Integer.parseInt format exceptionInteger.parseInt 格式异常
【发布时间】:2014-08-13 18:53:08
【问题描述】:

我在使用 Integer.parseInt 函数将字符串传递给 int 时遇到问题。 您想要使用下载到数据库中的 webService 的字符串具有 varchar (1) 格式(不确定这是否重要)。

我的代码很简单:

for (int i = 0; i <todo.size (); i ++) 
{
numT = Integer.parseInt (todo.get (i) .getRespT ()); 
numV = Integer.parseInt (todo.get (i) .getRespV ()); 
         ... 
} 

这就是它告诉我的 logcat:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{app.opofire/app.opofire.Soluciones}: java.lang.NumberFormatException: Invalid int: "1"
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$600(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5454)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:796)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NumberFormatException: Invalid int: "1"
at java.lang.Integer.invalidInt(Integer.java:138)
at java.lang.Integer.parse(Integer.java:375)
at java.lang.Integer.parseInt(Integer.java:366)
at java.lang.Integer.parseInt(Integer.java:332)
at app.opofire.Soluciones.corregirTest(Soluciones.java:157)
at app.opofire.Soluciones.onCreate(Soluciones.java:52)
at android.app.Activity.performCreate(Activity.java:5066)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
... 11 more

我试图用 Log.i 显示字符串的值,如果它得到一个空白,我在论坛上看到了一些其他帖子,但它只显示 1

非常感谢。

PD:我已经把它用于调试:

Log.i("",""+todo.get(i).getRespV().length());

显示长度为3

【问题讨论】:

    标签: java numberformatexception parseint


    【解决方案1】:

    您的字符串可能有前导空格。在转换之前尝试修剪它:

    for (int i = 0; i < todo.size(); i++)
    {
        numT = Integer.parseInt (todo.get(i).getRespT().trim());
        numV = Integer.parseInt (todo.get(i).getRespV().trim());
             ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      • 2015-01-18
      • 1970-01-01
      • 2014-07-11
      • 2021-11-11
      • 2013-08-11
      • 2011-05-17
      相关资源
      最近更新 更多