如何将字符串值转换为整数

时间:2014-02-01 10:52:57

标签: java parsing

我想将字符串值转换为整数,但我不能。我的陈述检查了

=Integer.parseInt(input);

有错误,请提前帮助并多多感谢。

import java.util.Scanner;
public class ass2a
{
    public static void main(String []args)
    {
        Scanner reader = new Scanner(System.in);
        String input,b;
        long checked;
        System.out.print("Please enter the 12 digit:");
        input = reader.nextLine();


        if(input.length() < 12)
        {
            System.out.println("The digit is less than 12.");
        }

        int one,two,three,four,five,six,seven,eight,nine,ten,eleven,twevle;
        checked =Integer.parseInt(input);
        System.out.println(checked);
    }
}

6 个答案:

答案 0 :(得分:2)

使用checked =Long.parseLong(input);代替checked =Integer.parseInt(input);

12位数字非常大,因此您无法将其存储在int中。因此您需要存储在Long

答案 1 :(得分:0)

12位数字是一个非常大的数字...整数不能存储它。那是你的错误 - 所以你需要另一种类型来存储号码。

我建议你使用Long:Long.parseLong(输入);

那应该可以解决问题。

答案 2 :(得分:0)

您收到错误,因为您输入的字符串值大于2147483647.这是max int可以存储的(您可以使用sysout Integer.MAX_VALUE来检查)。如果您打算输入更大的数字,可能是您可以使用长(最大值9223372036854775807)

System.out.println(Integer.MAX_VALUE); // =2147483647 (2^31 - 1)

System.out.println(Long.MAX_VALUE); // =9223372036854775807 (2^63 - 1)

根据输入的大小,您可能希望选择正确的数据类型。

有关详细信息,请参阅http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

答案 3 :(得分:0)

您的问题是这一行:

input = reader.nextLine();

试试这个:

 checked = Long.parseLong(input);

答案 4 :(得分:0)

使用

 checked= Long.parseLong(input) 

而不是

Integer.parseInt 

它无法处理12位数的长号

答案 5 :(得分:0)

以下是更正的程序(假设您尝试查找用户输入的数字是否小于12并显示数字

import java.util.Scanner;
public class ass2a
{
public static void main(String []args)
{
    Scanner reader = new Scanner(System.in);
    long input,b;
    long checked;
    System.out.print("Please enter the 12 digit:");
    input = reader.nextLong();



    if(String.valueOf(input).length() < 12)
    {
        System.out.println("The digit is less than 12.");
    }
  int one,two,three,four,five,six,seven,eight,nine,ten,eleven,twevle;
 checked =(long)(input);
       System.out.println(checked);
      }
}