将包含Number的字符串解析为INT

时间:2014-02-25 14:03:11

标签: java string parsing integer

我有一个包含数字0的字符串。 知道,我需要将其解析为int,所以我尝试了以下内容:

int oldfollowcounter = Integer.parseInt(followerzahl);

followerzahl是字符串。

我总是得到错误:

Exception in thread "Timer-4" java.lang.NumberFormatException: For input string: "0
"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at YBot.MyBot$3.run(MyBot.java:472)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)

,本地int只是空的。

任何想法?

字符串包含:

followerzahl=0

followerzahl=0

followerzahl=0

followerzahl=0

5 个答案:

答案 0 :(得分:7)

Integer.parseInt是一个非常严格的解析器,除非它只包含一个有效的整数,否则它不会解析String

您需要首先删除可能在String中的任何其他内容。在这种情况下,看起来在数字后面有空格(换行符),因此followerzahl.trim()足以删除空格。如果还有更多(例如引号或其他字符),您需要编写一些内容来提取包含该数字的String的位,然后解析它。

答案 1 :(得分:3)

问题是“0”“0。”

让我们看看它Integer.parseInt只允许数字,所以小数点,其他空格是非法的。

因此 NumberFormatException

您应确保输入确实是

整数(即“20”)

或者如果您确实想要允许小数,请使用

Double.parseDoubleFloat.parseFloat

或如果找到任何空格“0”,则应首先使用

Integer.parseInt(followerzahl.trim())

Double.parseInt(followerzahl.trim()),这应该可以完美运作。

答案 2 :(得分:0)

int oldfollowcounter = Integer.parseInt(followerzahl);

followerzahl字符串必须是整数。

使用以下代码:

        String followerzahl = "0";
        int oldfollowcounter = Integer.parseInt(followerzahl);
        System.out.println(oldfollowcounter);

答案 3 :(得分:0)

您的字符串"0中可能包含followerzahl。请重新检查!

答案 4 :(得分:0)

确保您的字符串在解析时不包含除数字之外的任何其他字符,这一点很重要。很可能您的字符串包含空格,标点符号或不会转换为整数的内容。因此,建议在解析之前检查字符串。

在这种情况下,错误位置的字符串中最有可能是