欢迎访问宙启技术站
智能推送

「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

以上是两种常用的方法来编写一个将字符串转换为数字的函数。根据具体的需求和场景,选择适合的方法即可。