java 如何将输入的字符串转化为int型,再判断他是不是13位整数?

时间:2022-01-30 09:03:18
java 如何将输入的字符串转化为int型,再判断他是不是13位整数?
java 如何将输入的字符串转化为int型,再判断他是不是13位整数?
java 如何将输入的字符串转化为int型,再判断他是不是13位整数?
java 如何将输入的字符串转化为int型,再判断他是不是13位整数?

17 个解决方案

#1



     Scanner sc = new Scanner(System.in);
     String s = sc.nextLine();
    try {
int x = Integer.parseInt(s);
s = x + "";
if (s.length()!=13)
System.out.println("数字长度不是13");
else
System.out.println("格式正确");
} catch (NumberFormatException e) {
System.out.println("输入字符串格式不对");
}
    

#2


如果不需要其他判断的话直接Integer.parseInt("字符串")就可以转换为int了。判断是不是13位整数还是在转换之前判断比较合适。

#3


修正一下,既然可能是13位整数,int类型不够放,改成long


     Scanner sc = new Scanner(System.in);
     String s = sc.nextLine();
    try {
//int x = Integer.parseInt(s);
long x = Long.parseLong(s);
s = x + "";
if (s.length()!=13)
System.out.println("数字长度不是13");
else
System.out.println("格式正确");
} catch (NumberFormatException e) {
System.out.println("输入字符串格式不对");
}

#4


引用 3 楼 alexandertech 的回复:
修正一下,既然可能是13位整数,int类型不够放,改成long

Java code

        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
           try {
            //int x = Integer.parseInt(s);
            l……


你没有判断时整数啊

#5


如果不许用字符串判断长度可以这样

int i = 12346578;
int len = 0;

while(i>0){
     i/=10;
     len++;
}

#6


引用 2 楼 liushuo1987 的回复:
如果不需要其他判断的话直接Integer.parseInt("字符串")就可以转换为int了。判断是不是13位整数还是在转换之前判断比较合适。

我是想先转换再判断位数,因为我的数据是这样的:000011111111111,需要先把前面的0去掉再判断

#7


...int 型的都是整数,不会出现小数的

#8


引用 5 楼 x19881216 的回复:
如果不许用字符串判断长度可以这样

int i = 12346578;
int len = 0;

while(i>0){
     i/=10;
     len++;
}



我是想先转换再判断位数,因为我的数据是这样的:000011111111111,需要先把前面的0去掉再判断位数

#9


引用 6 楼 ydb7459022 的回复:
引用 2 楼 liushuo1987 的回复:

如果不需要其他判断的话直接Integer.parseInt("字符串")就可以转换为int了。判断是不是13位整数还是在转换之前判断比较合适。

我是想先转换再判断位数,因为我的数据是这样的:000011111111111,需要先把前面的0去掉再判断

在转换时会自动把前面的000去掉的    000011111111111转成 int 后就是  11111111111了

#10


额....................................

#11


引用 7 楼 x19881216 的回复:
...int 型的都是整数,不会出现小数的

那要是小数呢?例如:0001111111.1230

#12


引用 11 楼 ydb7459022 的回复:
引用 7 楼 x19881216 的回复:

...int 型的都是整数,不会出现小数的

那要是小数呢?例如:0001111111.1230

小数需要用double或float来接受

#13



long i

if(i>=1000000000000 && i<=9999999999999) {
 //13位
}



引用 8 楼 ydb7459022 的回复:
引用 5 楼 x19881216 的回复:

如果不许用字符串判断长度可以这样

int i = 12346578;
int len = 0;

while(i>0){
i/=10;
len++;
}



我是想先转换再判断位数,因为我的数据是这样的:000011111111111,需要先把前面的0去掉再判断位数

#14


引用 11 楼 ydb7459022 的回复:
引用 7 楼 x19881216 的回复:

...int 型的都是整数,不会出现小数的

那要是小数呢?例如:0001111111.1230


那你先把这个数转换成double,(int)Math .floor( ) 或者 ceil(  )进行转换啊

#15


看API文档,先弄清楚有几个转换函数,API熟悉了,这种问题就小菜了

#16


引用 4 楼 ydb7459022 的回复:
引用 3 楼 alexandertech 的回复:

修正一下,既然可能是13位整数,int类型不够放,改成long

Java code

Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
try {
//int x = Integer.parseInt(s);
l……


你没有判断时整数啊……


有做判断
Integer.parseInt(s)在把字符串转为整数的时候,如果不是整数字符串,会抛出异常NumberFormatException e
上面的代码中捕捉了这个异常,实际就是通过异常判断是否是整数

#17


引用 1 楼 alexandertech 的回复:
Java code


        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
           try {
            int x = Integer.parseInt(s);
            s = x + "";
            if (s.l……

if...else 加个花括号能死啊?个花括号能死啊?花括号能死啊?括号能死啊?号能死啊?能死啊?死啊?啊?

#1



     Scanner sc = new Scanner(System.in);
     String s = sc.nextLine();
    try {
int x = Integer.parseInt(s);
s = x + "";
if (s.length()!=13)
System.out.println("数字长度不是13");
else
System.out.println("格式正确");
} catch (NumberFormatException e) {
System.out.println("输入字符串格式不对");
}
    

#2


如果不需要其他判断的话直接Integer.parseInt("字符串")就可以转换为int了。判断是不是13位整数还是在转换之前判断比较合适。

#3


修正一下,既然可能是13位整数,int类型不够放,改成long


     Scanner sc = new Scanner(System.in);
     String s = sc.nextLine();
    try {
//int x = Integer.parseInt(s);
long x = Long.parseLong(s);
s = x + "";
if (s.length()!=13)
System.out.println("数字长度不是13");
else
System.out.println("格式正确");
} catch (NumberFormatException e) {
System.out.println("输入字符串格式不对");
}

#4


引用 3 楼 alexandertech 的回复:
修正一下,既然可能是13位整数,int类型不够放,改成long

Java code

        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
           try {
            //int x = Integer.parseInt(s);
            l……


你没有判断时整数啊

#5


如果不许用字符串判断长度可以这样

int i = 12346578;
int len = 0;

while(i>0){
     i/=10;
     len++;
}

#6


引用 2 楼 liushuo1987 的回复:
如果不需要其他判断的话直接Integer.parseInt("字符串")就可以转换为int了。判断是不是13位整数还是在转换之前判断比较合适。

我是想先转换再判断位数,因为我的数据是这样的:000011111111111,需要先把前面的0去掉再判断

#7


...int 型的都是整数,不会出现小数的

#8


引用 5 楼 x19881216 的回复:
如果不许用字符串判断长度可以这样

int i = 12346578;
int len = 0;

while(i>0){
     i/=10;
     len++;
}



我是想先转换再判断位数,因为我的数据是这样的:000011111111111,需要先把前面的0去掉再判断位数

#9


引用 6 楼 ydb7459022 的回复:
引用 2 楼 liushuo1987 的回复:

如果不需要其他判断的话直接Integer.parseInt("字符串")就可以转换为int了。判断是不是13位整数还是在转换之前判断比较合适。

我是想先转换再判断位数,因为我的数据是这样的:000011111111111,需要先把前面的0去掉再判断

在转换时会自动把前面的000去掉的    000011111111111转成 int 后就是  11111111111了

#10


额....................................

#11


引用 7 楼 x19881216 的回复:
...int 型的都是整数,不会出现小数的

那要是小数呢?例如:0001111111.1230

#12


引用 11 楼 ydb7459022 的回复:
引用 7 楼 x19881216 的回复:

...int 型的都是整数,不会出现小数的

那要是小数呢?例如:0001111111.1230

小数需要用double或float来接受

#13



long i

if(i>=1000000000000 && i<=9999999999999) {
 //13位
}



引用 8 楼 ydb7459022 的回复:
引用 5 楼 x19881216 的回复:

如果不许用字符串判断长度可以这样

int i = 12346578;
int len = 0;

while(i>0){
i/=10;
len++;
}



我是想先转换再判断位数,因为我的数据是这样的:000011111111111,需要先把前面的0去掉再判断位数

#14


引用 11 楼 ydb7459022 的回复:
引用 7 楼 x19881216 的回复:

...int 型的都是整数,不会出现小数的

那要是小数呢?例如:0001111111.1230


那你先把这个数转换成double,(int)Math .floor( ) 或者 ceil(  )进行转换啊

#15


看API文档,先弄清楚有几个转换函数,API熟悉了,这种问题就小菜了

#16


引用 4 楼 ydb7459022 的回复:
引用 3 楼 alexandertech 的回复:

修正一下,既然可能是13位整数,int类型不够放,改成long

Java code

Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
try {
//int x = Integer.parseInt(s);
l……


你没有判断时整数啊……


有做判断
Integer.parseInt(s)在把字符串转为整数的时候,如果不是整数字符串,会抛出异常NumberFormatException e
上面的代码中捕捉了这个异常,实际就是通过异常判断是否是整数

#17


引用 1 楼 alexandertech 的回复:
Java code


        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
           try {
            int x = Integer.parseInt(s);
            s = x + "";
            if (s.l……

if...else 加个花括号能死啊?个花括号能死啊?花括号能死啊?括号能死啊?号能死啊?能死啊?死啊?啊?