如何在Java中将双精度值转换为String?

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

像所有其他原始变量一样,double也具有包装原始数据类型的包装器类(Double)。由于Java支持自动装箱,因此原始值和对象可以互换使用。

将double转换为String

您可以在Java中以各种不同的方式将double值转换为String-

  • 使用“ +”运算符-+运算符是加法运算符,但是当与Strings一起使用时,它充当串联运算符。它将另一个操作数连接到String并返回String对象。

您可以使用“ +”运算符将双精度值简单地添加到空字符串中,从而将其转换为字符串。实际上,这是将双精度值转换为字符串的简单方法。

示例

import java.util.Scanner;
public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("输入一个双精度值:");
      Double d = sc.nextDouble();
      String result = ""+d;
      System.out.println("The result is: "+result);
   }
}

输出结果

输入一个双精度值:
2548.2325
The result is: 2548.2325
  • 使用toString()Double类toString()方法-包装器类Double的方法返回当前Double对象的String格式。

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

示例

import java.util.Scanner;
public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("输入一个双精度值:");
      Double d = sc.nextDouble();
      String result = d.toString();
      System.out.println("The result is: "+result);
   }
}

输出结果

输入一个双精度值:
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("输入一个双精度值:");
      double d = sc.nextDouble();
      String result = Double.toString(d);
      System.out.println("The result is: "+result);
   }
}
  • 使用valueOf()String类valueOf()方法-String类的方法接受一个char或char数组或double或float或int或long或对象作为参数,并返回其String表示形式。

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

示例

import java.util.Scanner;
public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("输入一个双精度值:");
      Double d = sc.nextDouble();
      String result = "".valueOf(d);
      System.out.println("The result is: "+result);
   }
}

输出结果

输入一个双精度值:
2548.2325
The result is: 2548.2325
  • 使用format()String类的方法-此方法接受格式为String和参数(varargs),并以指定格式返回给定变量的String对象。

您可以使用format()方法将双精度值格式化为字符串。向其传递“%f”作为格式字符串(以及所需的双精度值)。

示例

import java.util.Scanner;
public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("输入一个双精度值:");
      double d = sc.nextDouble();
      String result = String.format("%f", d);
      System.out.println("The result is: "+result);
   }
}

输出结果

输入一个双精度值:
2548.2325
The result is: 2548.2325
  • 使用append()StringBuilder或StringBuffer的方法-StringBuilder或StringBuffer对象的append方法接受布尔值或char或char数组或double或float或int或long或String值作为参数并将其添加到当前对象。

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

示例

import java.util.Scanner;
public class ConversionOfDouble {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("输入一个双精度值:");
      double d = sc.nextDouble();
      StringBuffer sb = new StringBuffer();
      sb.append(d);
      String result = sb.toString();
      System.out.println("The result is: "+result);
   }
}

输出结果

输入一个双精度值:
2548.2325
The result is: 2548.2325