今天我们将看到在Java中将double转换为字符串的不同方法。Java的double到字符串转换可以用许多种方式实现,我们将逐个介绍带有示例代码片段的方法。
Java将Double转换为String
让我们看看不同的Java double转换为字符串的代码片段。请注意,
double
是一个原始数据类型,而Double
是一个对象。但是Java支持自动装箱,所以它们在大多数情况下可以互换使用。
-
使用+运算符
这是在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 is '123.456'
-
new Double(double l)
Double构造函数在Java 9中已弃用,但您应该知道它。
double d = 123.45d; //从Java 9开始弃用,使用valueOf获得更好的性能 String str = Double.valueOf(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' //如果您不想进行格式化 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'
-
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