Java将double转换为String

今天我们将看到在Java中将double转换为字符串的不同方法。Java的double到字符串转换可以用许多种方式实现,我们将逐个介绍带有示例代码片段的方法。

Java将Double转换为String

让我们看看不同的Java double转换为字符串的代码片段。请注意,double是一个原始数据类型,而Double是一个对象。但是Java支持自动装箱,所以它们在大多数情况下可以互换使用。

  1. 使用+运算符

    这是在Java中将double转换为字符串的最简单方法。

    double d = 123.45d;
    String str = d+""; // str is '123.45'
    
  2. Double.toString()

    我们可以使用 Double 类的 toString 方法来获取双精度浮点数的十进制表示形式。下面的代码片段展示了如何在 Java 中使用它将双精度浮点数转换为字符串。

    double d = 123.45d;
    String str = Double.toString(d);
    System.out.println(str); //打印 '123.45'
    
  3. String.valueOf()

    double d = 123.456d;
    String str = String.valueOf(d); // str is '123.456'
    
  4. new Double(double l)

    Double构造函数在Java 9中已弃用,但您应该知道它。

    double d = 123.45d;
    //从Java 9开始弃用,使用valueOf获得更好的性能
    String str = Double.valueOf(d).toString();
    System.out.println(str);
    
  5. String.format()

    我们可以使用Java String的format方法在程序中将double转换为String。

    double d = 36.98d;
    String s = String.format("%f", d);
    System.out.println(s); //36.980000
    
  6. DecimalFormat

    我们可以使用DecimalFormat类来将double转换为String。我们还可以得到指定小数位数和四舍五入的字符串表示。

    double d = 123.454d;
    String str = DecimalFormat.getNumberInstance().format(d);
    System.out.println(str); //str is '123.454'
    //如果您不想进行格式化
    str = new DecimalFormat("#.0#").format(d); // 四舍五入到2位小数
    System.out.println(str); //str is '123.45'
    str = new DecimalFormat("#.0#").format(123.456); // 四舍五入到2位小数
    System.out.println(str); //str is '123.46'
    
  7. StringBuilder,StringBuffer

    我们可以使用StringBuilder和StringBuffer的append函数将double转换为字符串。

    double d = 123.45d;
    String str = new StringBuilder().append(d).toString();
    

Java Double转String示例

这是一个简单的程序,我们将在其中将double转换为字符串,并使用我们上面看到的所有不同方法打印它。

package com.journaldev.string;

import java.text.DecimalFormat;

public class JavaDoubleToString {

	public static void main(String[] args) {
		double d = 123.45d;
		String str = Double.toString(d);
		System.out.println(str);

		str = String.valueOf(d);
		System.out.println(str);

		// 从 Java 9 弃用,使用 valueOf 获取更好的性能
		str = new Double(d).toString();
		System.out.println(str);

		str = String.format("%f", d);
		System.out.println(str); //123.450000

		str = d + "";
		System.out.println(str);

		str = DecimalFormat.getNumberInstance().format(d);
		System.out.println(str);

		str = new DecimalFormat("#.0#").format(d);
		System.out.println(str);

		str = new StringBuilder().append(d).toString();
		System.out.println(str);
	}

}

这就是在 Java 程序中将 double 转换为字符串的全部内容。参考:Double API 文档

Source:
https://www.digitalocean.com/community/tutorials/java-convert-double-to-string