Skip to content

Files

Latest commit

ed2b32f · Oct 12, 2019

History

History
177 lines (122 loc) · 5.24 KB

File metadata and controls

177 lines (122 loc) · 5.24 KB

Java 程序:double到字符串的转换

原文: https://beginnersbook.com/2015/05/java-double-to-string/

java 教程中,我们将学习如何在 Java 中将double转换为字符串。我们可以通过多种方式进行此转换 -

  1. 使用String.valueOf(double)方法将double转换为字符串。
  2. 使用Double包装类toString()方法在 Java 中将double转换为字符串。
  3. 使用String.format()方法将double转换为字符串
  4. 使用DecimalFormat.format()double转换为字符串
  5. 使用StringBufferStringBuilder转换为字符串

1. 使用String.valueOf(double)方法将double转换为字符串

public static String valueOf(double d):我们可以通过调用String类的valueOf()方法将double原始类型转换为String。此方法返回double参数的字符串表示形式。

public class JavaExample{  
   public static void main(String args[]){ 
	//double value
	double dnum = 99.9999;  

	//convert double to string using valueOf() method
	String str = String.valueOf(dnum);  

	//displaying output string after conversion
	System.out.println("My String is: "+str);  
   }
}

输出:

Java Convert double to String

2. 使用Double包装类的toString()方法将double转换为字符串

public String toString( ):这是另一种可用于**将double转换为String**的方法。此方法返回Double对象的字符串表示形式。此对象表示的原始double值将转换为字符串。

public class JavaExample{  
   public static void main(String args[]){ 
	double dnum = -105.556;  

	//double to string conversion using toString()
	String str = Double.toString(dnum);  

	System.out.println("My String is: "+str);
   }
}

输出:

double to string in Java using Double.toString()

3. 使用String.format()方法将double转换为字符串

String.format()方法可用于双字符串转换。

public class JavaExample{  
   public static void main(String args[]){ 
	double dnum = -99.999;  

	String str = String.format("%f", dnum); 

	System.out.println("My String is: "+str);
   }
}

输出:

Java Convert double to string using String.format()

我们可以使用这种方法调整字符串中的小数位数。例如:如果我们在字符串中只需要小数点后两位数,那么我们可以像这样更改代码:

double dnum = -99.999;  
String str = String.format("%.2f", dnum);

此代码的输出将是:My String is: -100.00

这是因为这个方法的double值。

4. 使用DecimalFormat.format()double转换为字符串

String.format()方法类似。要使用它,我们必须在我们的代码中导入包:java.text.DecimalFormat

import java.text.DecimalFormat;
public class JavaExample{  
   public static void main(String args[]){ 
	double dnum = -99.999;  

	/* creating instance of DecimalFormat
	 * #.000 is to have 3 digits after decimal point 
	 * in our output string
	 */
	DecimalFormat df = new DecimalFormat("#.000");

	//conversion
	String str = df.format(dnum);

	//displaying output
	System.out.println("My String is: "+str);
   }
}

输出:

Convert double to string in java using DecimalFormat

5. 使用StringBufferStringBuilderdouble转换为字符串

我们也可以使用StringBufferStringBuilderdouble转换为String。两者的转换步骤相同。步骤如下 -

  1. 创建StringBuffer/StringBuilder实例
  2. 追加double
  3. StringBuffer/StringBuilder转换为String

double -> StringBuffer -> String

public class JavaExample{  
   public static void main(String args[]){ 
	//double value
	double dnum = 89.891;

	//creating instance of StringBuffer
	StringBuffer sb = new StringBuffer();

	//appending the double value to StringBuffer instance
	sb.append(dnum);

	//converting StringBuffer to String
	String str = sb.toString();

	System.out.println("My String is: "+str);
   }
}

输出:

My String is: 89.891

double - > StringBuilder - > String

public class JavaExample{  
   public static void main(String args[]){ 
	//double value
	double dnum = -66.89;

	//creating instance of StringBuilder
	StringBuilder sb = new StringBuilder();

	//appending the double value to StringBuilder instance
	sb.append(dnum);

	//converting StringBuilder to String
	String str = sb.toString();

	System.out.println("My String is: "+str);
   }
}

输出:

Java Convert double to String using StringBuffer and StringBuilder