跳到主要内容

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() 方法将字符串转换为双精度浮点数。