如何在Java中将double值转换为String?


Java中的double数据类型存储双精度64位IEEE 754浮点数。它用作Java中十进制值的默认类型。

与所有其他基本变量一样,double也具有一个包装类(Double),它包装了基本数据类型。由于Java支持自动装箱,因此基本值和对象可以互换使用。

您可以通过多种不同的方式在Java中将double值转换为String:

使用“+”运算符

+运算符是加法运算符,但在与字符串一起使用时,它充当连接运算符。它将另一个操作数连接到字符串并返回一个字符串对象。

您可以通过简单地使用“+”运算符将其添加到空字符串来将double值转换为字符串。事实上,这是将double值转换为字符串的简单方法。

示例

import java.util.Scanner;
public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a double value:");
      Double d = sc.nextDouble();
      String result = ""+d;
      System.out.println("The result is: "+result);
   }
}

输出

Enter a double value:
2548.2325
The result is: 2548.2325


使用Double类的toString()方法

包装类Double的toString()方法返回当前Double对象的字符串格式。

将所需的原始double值读入Double类引用变量(自动装箱发生),然后使用toString()方法将其转换为字符串。

示例

import java.util.Scanner;
public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a double value:");
      Double d = sc.nextDouble();
      String result = d.toString();
      System.out.println("The result is: "+result);
   }
}

输出

Enter a double value:
2548.2325
The result is: 2548.2325

或者,您可以直接将double值直接传递给toString()方法:

public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a double value:");
    double d = sc.nextDouble();
String result = Double.toString(d);
System.out.println("The result is: "+result);
}
}


使用String类的valueOf()方法

String类的valueOf()方法接受char或字符数组或double或float或int或long或对象作为参数,并返回其字符串表示形式。

您可以将所需的double值作为参数传递给此方法并检索其字符串格式。

示例

import java.util.Scanner;
public class ConversionOfDouble {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a double value:");
Double d = sc.nextDouble();
String result = "".valueOf(d);
System.out.println("The result is: "+result);
}
}

输出

Enter a double value:
2548.2325
The result is: 2548.2325


使用String类的format()方法

此方法接受格式字符串和参数(var-args),并返回给定变量的指定格式的字符串对象。

您可以使用format()方法将double值格式化为字符串。为此,请将“%f”作为格式字符串(以及所需的double值)传递。

示例

import java.util.Scanner;
public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a double value:");
      double d = sc.nextDouble();
      String result = String.format("%f", d);
      System.out.println("The result is: "+result);
   }
}

输出

Enter a double value:
2548.2325
The result is: 2548.2325


使用StringBuilder或StringBuffer的append()方法

StringBuilder或StringBuffer对象的append方法接受布尔值或char或字符数组或double或float或int或long或字符串值作为参数,并将其添加到当前对象。

您可以将所需的double值附加到方法,并从获得的StringBuffer(或StringBuilder)对象中检索字符串。

示例

import java.util.Scanner;
public class ConversionOfDouble {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a double value:");
double d = sc.nextDouble();
StringBuffer sb = new StringBuffer();
sb.append(d);
String result = sb.toString();
System.out.println("The result is: "+result);
}
}

输出

Enter a double value:
2548.2325
The result is: 2548.2325

更新于:2022年5月4日

2K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始学习
广告