「Java函数」——如何编写一个将字符串转换为数字的函数?
发布时间:2023-06-30 03:17:18
要编写一个将字符串转换为数字的函数,可以使用Java中的内置方法或自定义算法来实现。以下是两种常见的方法:
方法1:使用Java的内置方法
Java提供了许多内置方法来将字符串转换为数字。其中最常用的方法是使用 Integer.parseInt()、Double.parseDouble() 或者 Long.parseLong() 等方法。
示例代码:
public static int stringToInt(String str) {
try {
return Integer.parseInt(str);
} catch (NumberFormatException e) {
e.printStackTrace();
return 0; // 如果无法转换,则返回默认值
}
}
public static double stringToDouble(String str) {
try {
return Double.parseDouble(str);
} catch (NumberFormatException e) {
e.printStackTrace();
return 0.0; // 如果无法转换,则返回默认值
}
}
public static long stringToLong(String str) {
try {
return Long.parseLong(str);
} catch (NumberFormatException e) {
e.printStackTrace();
return 0L; // 如果无法转换,则返回默认值
}
}
使用示例:
String str = "1234"; int num = stringToInt(str); System.out.println(num); // 输出结果为:1234 String str2 = "12.34"; double num2 = stringToDouble(str2); System.out.println(num2); // 输出结果为:12.34 String str3 = "1234567890"; long num3 = stringToLong(str3); System.out.println(num3); // 输出结果为:1234567890
方法2:自定义转换算法
如果不想使用Java的内置方法,也可以编写自己的字符串转换算法。
示例代码:
public static int stringToInt(String str) {
int sign = 1; // 符号位,默认为正数
int result = 0;
int i = 0;
// 处理符号位
if (str.charAt(0) == '-') {
sign = -1;
i++;
}
// 转换数字
for (; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isDigit(c)) { // 判断字符是否为数字
int digit = c - '0'; // 将字符转换为数字
result = result * 10 + digit;
} else {
break; // 如果遇到非数字字符,则结束转换
}
}
return result * sign;
}
使用示例:
String str = "1234"; int num = stringToInt(str); System.out.println(num); // 输出结果为:1234 String str2 = "-5678"; int num2 = stringToInt(str2); System.out.println(num2); // 输出结果为:-5678
以上是两种常用的方法来编写一个将字符串转换为数字的函数。根据具体的需求和场景,选择适合的方法即可。
