今天我们将看到在Java中将double转换为字符串的不同方法。Java double到字符串的转换可以通过多种方式完成,我们将逐个通过示例代码片段来了解它们。
Java 将 Double 转换为字符串
让我们看看不同的Java double到字符串转换的代码片段。请注意,
double
是一个原始数据类型,而Double
是一个对象。然而,Java支持自动装箱,因此它们在大多数情况下可以互换使用。
-
使用+运算符
这是将double转换为字符串的最简单的方法。
double d = 123.45d; String str = d+""; // str is '123.45'
-
Double.toString()
我們可以使用 Double 類的
toString
方法來獲取雙精度數的十進制表示。下面的代碼片段展示了如何在 Java 中使用它將雙精度數轉換為字符串。double d = 123.45d; String str = Double.toString(d); System.out.println(str); //印出 '123.45'
-
String.valueOf()
double d = 123.456d; String str = String.valueOf(d); // str 為 '123.456'
-
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);
-
String.format()
我們可以使用 Java String format 方法在我們的程式中將 double 轉換為 String。
double d = 36.98d; String s = String.format("%f", d); System.out.println(s); //36.980000
-
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'
-
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