今日は、Javaでdoubleを文字列に変換するさまざまな方法を見ていきます。 Javaのdoubleからstringへの変換は、多くの方法で行うことができます。それぞれの方法について、例のコードスニペットを一つ一つ見ていきましょう。
Java DoubleをStringに変換する
Java doubleをstringに変換するさまざまなコードスニペットを見てみましょう。
double
はプリミティブデータ型であり、Double
はオブジェクトです。しかし、Javaはオートボクシングをサポートしているため、ほとんどの場合、どちらも同じように使うことができます。
-
+演算子を使用する
これは、Javaでdoubleを文字列に変換する最も簡単な方法です。
double d = 123.45d; String str = d+""; // strは '123.45'になります
-
Double.toString()
Doubleクラスの
toString
メソッドを使用して、小数点以下の表現でdoubleの文字列表現を取得できます。以下のコードスニペットは、それを使用してdoubleを文字列に変換する方法を示しています。double d = 123.45d; String str = Double.toString(d); System.out.println(str); //prints '123.45'
-
String.valueOf()
double d = 123.456d; String str = String.valueOf(d); // str is '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フォーマットメソッドを使用して、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); // 小数点以下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