Java程序将字符串变量转换为double
要理解此示例,您应该具备以下 Java 编程 主题的知识:
示例 1:使用 parseDouble() 将字符串转换为双精度浮点数
class Main {
public static void main(String[] args) {
// 创建字符串变量
String str1 = "23";
String str2 = "456.6";
// 将字符串转换为双精度浮点数
// 使用 parseDouble()
double num1 = Double.parseDouble(str1);
double num2 = Double.parseDouble(str2);
// 打印双精度浮点数
System.out.println(num1); // 23.0
System.out.println(num2); // 456.6
}
}
在上述示例中,我们使用了 Double
类的 parseDouble()
方法将字符串变量转换为双精度浮点数。
这里,Double
是 Java 中的一个包装类。要了解更多,请访问 Java 包装 类。
注意:字符串变量应该表示数字值。否则,编译器会抛出异常。例如,
class Main {
public static void main(String[] args) {
// 创建一个字符串变量
String str1 = "Programiz";
// 将字符串转换为双精度浮点数
// 使用 parseDouble()
double num1 = Double.parseDouble(str1);
// 打印双精度浮点数
System.out.println(num1); // 抛出 NumberFormatException
}
}
示例 2:使用 valueOf() 将字符串转换为双精度浮点数
我们也可以使用 valueOf()
方法将字符串变量转换为双精度浮点数。例如,
class Main {
public static void main(String[] args) {
// 创建字符串变量
String str1 = "6143";
String str2 = "21312";
// 将字符串转换为双精度浮点数
// 使用 valueOf()
double num1 = Double.valueOf(str1);
double num2 = Double.valueOf(str2);
// 打印双精度浮点数
System.out.println(num1); // 6143.0
System.out.println(num2); // 21312.0
}
}
在上述示例中,Double
类的 valueOf()
方法将字符串值转换为双精度浮点数。
这里,valueOf()
方法实际上返回 Double
类的一个对象。然而,这个对象会自动转换为原始类型。这在 Java 中被称为拆箱。要了解更多,请访问 Java 自动装箱和拆箱。
也就是说,
// valueOf() 返回 Double 对象
// 对象被转换为双精度浮点数
double num1 = Double obj = Double.valueOf(str1);
示例 3:将包含逗号的字符串转换为双精度浮点数的 Java 程序
class Main {
public static void main(String[] args) {
// 创建字符串变量
String str = "614,33";
// 将逗号替换为点号
str = str.replace(",", ".");
// 将字符串转换为双精度浮点数
// 使用 parseDouble()
double value = Double.parseDouble(str);
// 打印双精度浮点数
System.out.println(value); // 614.33
}
}
在上述示例中,我们创建了一个名为 str 的字符串。注意这行,
str = str.replace(",", ".");
这里,replace()
方法将字符串中的逗号替换为
点号。要了解更多关于替换字符的信息,请访问 Java String replace()。
然后我们使用了 parseDouble()
方法将字符串转换为双精度浮点数。