如何在Java中将字符串转换为整数
时间:2020-02-23 14:34:01 来源:igfitidea点击:
字符串和整数是Java中两种不同的数据类型。
Java中的字符串将多个字符存储在一起。
在Java中将字符串转换为整数
有时,字符串可以包含数字作为字符。
从API在表中检索数据时,通常是这种情况。
将Sring转换为int易于计算。
如果对字符串形式的数字执行算术运算会怎样?让我们尝试运行下面的代码。
package com.theitroad.java; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { String a = "100"; String b = "50"; String c = a+b; System.out.println(c); } }
字符串中的加法是串联。
让我们看一些将字符串转换为整数的方法。
1.使用Integer.Valueof()
Integer.valueOf()将String转换为Integer对象。
让我们看一个解释它的代码。
package com.theitroad.java; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { //write your code here String a = "100"; String b= "50"; int A = Integer.valueOf(a); int B = Integer.valueOf(b); int c = A+B; System.out.println(c); } }
整数值
2.使用Integer.parseInt()
Integer.parseInt()返回原始int类型作为输出。
package com.theitroad.java; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { //write your code here String a = "100"; String b= "50"; int A = Integer.parseInt(a); int B = Integer.parseInt(b); int c = A+B; System.out.println(c); } }
3.使用好旧的for循环
如果您是一名程序员,那么您可能对util并不满意,除非您从头开始设计自己的函数。
我们将做到这一点!我们将使用for循环将字符串转换为整数。
为此,您需要对ASCII代码有所了解。
所有字符都有用于识别它们的代码,该代码是ASCII代码。
如果您从任何字符数字中减去字符" 0",那么您将获得该字符的绝对值(整数)。
我们将使用此事实,并从一个字符到另一个字符遍历字符串。
在迭代时,我们将确保将每个字符的int值添加到一个公共变量中。
字符串中字符的位置非常重要,因为左移每个数字的值会增加10倍。
因此,我们将需要一个变量来考虑每个位置的乘数。
package com.theitroad.java; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { //write your code here String a = "100"; String b= "50"; int A=string_to_int(a); int B=string_to_int(b); int c= A+B; System.out.println(c); } public static int string_to_int (String s){ int num=0; int pos =1; for(int i=s.length()-1;i>=0;i--){ num+= (s.charAt(i)-'0')*pos; pos*=10; } return num; } }
但是,这段代码不会处理负整数。
要将程序修改为包括负整数,请使用标志来检查字符串的第一个位置。
之后,排除包含"-"的头寸。
以下代码演示了这一点:
package com.theitroad.java; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { //write your code here String a = "100"; String b= "-50"; int A=string_to_int(a); int B=string_to_int(b); int c= A+B; System.out.println(c); } public static int string_to_int (String s){ int num=0; int pos =1; boolean flag = false; if(s.charAt(0)=='-'){ s=s.substring(1); flag=true; } for(int i=s.length()-1;i>=0;i--){ num+= (s.charAt(i)-'0')*pos; pos*=10; } if(flag){ num=-1*num; } return num; } }