Java 将 double 转换为 String

今天我们将看到在Java中将double转换为字符串的不同方法。Java double到字符串的转换可以通过多种方式完成,我们将逐个通过示例代码片段来了解它们。

Java 将 Double 转换为字符串

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

  1. 使用+运算符

    这是将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 為 '123.456'
    
  4. new Double(double l)

    Java 9

    中已將帶有 double 參數的 Double 構造函數設為過時,但您應該知道它。

    double d = 123.45d;
    // 從 Java 9 開始過時,使用 valueOf 可獲得更好的性能
    String str = new Double(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'
    //if you don't want formatting
    str = new DecimalFormat("#.0#").format(d); // rounded to 2 decimal places
    System.out.println(str); //str is '123.45'
    str = new DecimalFormat("#.0#").format(123.456); // rounded to 2 decimal places
    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