示例 1: 使用 parseDouble() 将字符串转换为双精度的 Java 程序
class Main { public static void main(String[] args) { // create string variables String str1 = "23"; String str2 = "456.6"; // convert string to double // using parseDouble() double num1 = Double.parseDouble(str1); double num2 = Double.parseDouble(str2); // print double values System.out.println(num1); // 23.0 System.out.println(num2); // 456.6 } }
在上面的例子中,我们使用了 Double 类的 parseDouble() 方法将字符串变量转换为 double。
这里,Double 是 Java 中的一个包装类。要了解更多信息,请访问 Java Wrapper Class。
注意: 字符串变量应该代表数值。否则编译器会抛出异常。例如,
class Main { public static void main(String[] args) { // create a string variable String str1 = "Programiz"; // convert string to double // using parseDouble() double num1 = Double.parseDouble(str1); // print double values System.out.println(num1); // throws NumberFormatException } }
示例 2: Java 程序使用 valueOf() 将字符串转换为双精度
我们还可以使用 valueOf() 方法将字符串变量转换为双精度值。例如,
class Main { public static void main(String[] args) { // create string variables String str1 = "6143"; String str2 = "21312"; // convert String to double // using valueOf() double num1 = Double.valueOf(str1); double num2 = Double.valueOf(str2); // print double values System.out.println(num1); // 6143.0 System.out.println(num2); // 21312.0 } }
在上面的例子中,
Double
类的
valueOf()
方法将字符串值转换为
double
。
这里,
valueOf()
方法实际上返回一个
Double
类的对象。但是,对象会自动转换为原始类型。这在 Java 中称为拆箱。要了解更多信息,请访问 Java 自动装箱和拆箱。
也就是说,
// valueOf() returns object of Double // object is converted into double double num1 = double obj = Double.valueOf(str1);
示例 3: 将包含逗号的字符串转换为双精度的 Java 程序
class Main { public static void main(String[] args) { // create string variables String str = "614,33"; // replace the , with . str = str.replace(",", "."); // convert String to double // using valueOf() double value = Double.parseDouble(str); // print double value System.out.println(value); // 614.33 } }
在上面的例子中,我们创建了一个名为 str 的字符串。注意这一行,
str = str.replace(",", ".");
此处,
replace()
方法将字符串中的逗号 替换为点字符。要了解有关替换字符的更多信息,请访问 Java String replace()。
然后我们使用
parseDouble()
方法将字符串转换为
double
。