📅  最后修改于: 2023-12-03 15:16:00.143000             🧑  作者: Mango
在Java中,将字符串转换为十进制数字是一种基本的操作。这通常涉及到将字符串解析为数字,并确保结果与所需的数据类型匹配。本文将介绍Java中实现字符串转十进制的方法。
Java提供了将字符串转换为十进制数字的内置方法Integer.parseInt()
和Double.parseDouble()
。Integer.parseInt()
方法将字符串转换为整数,而Double.parseDouble()
方法将字符串转换为浮点数。以下是使用这些方法的示例代码:
String str = "100";
int num = Integer.parseInt(str);
double decimal = Double.parseDouble(str);
在这个例子中,str
变量包含一个字符串"100"
。使用Integer.parseInt()
方法将其转换为整数,并将结果分配给num
变量。同样,使用Double.parseDouble()
方法将字符串转换为浮点数,并将结果分配给decimal
变量。
请注意,对于Integer.parseInt()
方法,如果字符串不是有效的整数格式,则会抛出NumberFormatException
异常。同样,对于Double.parseDouble()
方法,如果字符串不是有效的浮点数格式,则会抛出NumberFormatException
异常。
另一种方法是编写自定义代码将字符串转换为十进制数字。以下是一种将字符串转换为整数的方法:
public static int parseInt(String str) {
int num = 0;
boolean isNeg = false;
str = str.trim();
if (str.charAt(0) == '-') {
isNeg = true;
str = str.substring(1);
}
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isDigit(c)) {
num = num * 10 + (c - '0');
} else {
throw new NumberFormatException("Invalid character found: " + c);
}
}
return isNeg ? -num : num;
}
在这个例子中,我们首先检查字符串的第一个字符是否为-
,如果是,则说明这是一个负数。然后我们遍历字符串中的每个字符,如果字符是数字,则将其与当前数字的乘数相乘,并将结果相加。最后,我们根据字符串是否以-
开头返回数字的正负。
关于将字符串转换为浮点数的自定义方法,请参见这个Stack Overflow帖子。
在Java中将字符串转换为十进制数字的方法有两种:使用Java自带的方法和编写自定义代码。Java自带的方法是更简单的方法,但使用自定义代码可以更好地了解将字符串转换为数字的过程。无论您选择哪种方法,都要确保您的代码能够处理意外的输入,并在发生异常时适当地处理它们。