一、C语言字符串转换成整数
C语言中提供了两个函数可以将字符串转换成整数。
1、atoi函数:该函数将给定的字符串转换为对应的整数。
#include
int atoi(const char *str);
2、strtol函数:该函数将给定的字符串转换为对应的长整数。
#include
long int strtol(const char *str, char **endptr, int base);
其中base参数表示转换时使用的进制数。
二、JAVA字符串转数组
JAVA中字符串转数组的方法主要有三种,分别是使用toCharArray()方法、getBytes()方法、StringUtils.toCharArray()方法。
1、使用toCharArray()方法:
String str = "Hello World";
char[] charArray = str.toCharArray();
2、使用getBytes()方法:
String str = "Hello World";
byte[] byteArray = str.getBytes();
char[] charArray = new char[byteArray.length];
for (int i = 0; i < byteArray.length; i++) {
charArray[i] = (char) byteArray[i];
}
3、使用StringUtils.toCharArray()方法(使用StringUtils需先导入依赖):
String str = "Hello World";
char[] charArray = StringUtils.toCharArray(str);
三、字符串转换为整数
Java语言中字符串转整数常用的方法是使用Integer.parseInt(String s)或者使用Integer.valueOf(String s)。
1、使用Integer.parseInt(String s):
String str = "121";
int num = Integer.parseInt(str);
2、使用Integer.valueOf(String s):
String str = "121";
int num = Integer.valueOf(str);
四、JAVA字符串转数字的方法
1、使用String的构造函数:
String str = "121";
Integer num = new Integer(str);
2、使用包装类的parseXxx静态方法(如:parseInt):
String str = "121";
Integer num = Integer.parseInt(str);
3、使用valueOf方法(类似于方法2):
String str = "121";
Integer num = Integer.valueOf(str);
五、完整代码示例
public class StringToInteger {
public static void main(String[] args) {
//C语言字符串转换成整数
String str1 = "121";
int num1 = atoi(str1);
System.out.println(num1);
String str2 = "121";
long num2 = strtol(str2, null, 10);
System.out.println(num2);
//JAVA字符串转数组
String str3 = "Hello World";
char[] charArray = str3.toCharArray();
System.out.println(Arrays.toString(charArray));
String str4 = "Hello World";
byte[] byteArray = str4.getBytes();
char[] charArray2 = new char[byteArray.length];
for (int i = 0; i < byteArray.length; i++) {
charArray2[i] = (char) byteArray[i];
}
System.out.println(Arrays.toString(charArray2));
//字符串转换为整数
String str5 = "121";
int num5 = Integer.parseInt(str5);
System.out.println(num5);
String str6 = "121";
int num6 = Integer.valueOf(str6);
System.out.println(num6);
//JAVA字符串转数字的方法
String str7 = "121";
Integer num7 = new Integer(str7);
System.out.println(num7);
String str8 = "121";
Integer num8 = Integer.valueOf(str8);
System.out.println(num8);
String str9 = "121";
Integer num9 = Integer.parseInt(str9);
System.out.println(num9);
}
private static int atoi(String str) {
int num = 0, i = 0, n = str.length();
boolean negative = false;
if (n > 0) {
char firstChar = str.charAt(0);
if (firstChar < '0') { // Handle negative numbers
negative = firstChar == '-';
i++;
}
while (i < n) {
num = num * 10 + (str.charAt(i++) - '0');
}
}
return negative ? -num : num;
}
}