数値を文字列に変換する

int 型や double 型などの数値を文字列へ変換する方法について解説します。基本データ型のラッパークラスで用意されている toString メソッドを使用する方法、 String クラスで用意されている valueOf メソッドを使用する方法、空文字と連結することで文字列へ変換する方法、についてそれぞれご紹介します。

※ 文字列を数値に変換する方法については「文字列を数値に変換する」を参照されてください。

(Last modified: )

ラッパークラスのtoStringメソッドを使用する

数値を文字列に変換する 1 つ目の方法は基本データ型をラッパークラスのオブジェクトに変換した後で、各ラッパークラスで用意されている toString メソッドを使って文字列に変換する方法です。

例えば int 型のラッパークラスである Integer クラスでは toString メソッドは次のように定義されています。

public String toString()

戻り値:
このオブジェクトの10進数(基数10)による文字列表現。

他のラッパークラスでも同じ名前のメソッドが用意されています。

次のサンプルを見てください。

int num = 10;

Integer i = Integer.valueOf(num);
String str = i.toString();

int 型の値から Integer クラスのインスタンスを作成し、そのあとで toString メソッドを使って文字列に変換しています。

※ ラッパークラスについては「ラッパークラスの利用」を参照されてください。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample11-1.java という名前で保存します。

class JSample11_1{
  public static void main(String[] args){
    int i = 10;
    long l = 12L;
    double d = 7.82;
    boolean b = true;

    String si = Integer.valueOf(i).toString();
    String sl = Long.valueOf(l).toString();
    String sd = Double.valueOf(d).toString();
    String sb = Boolean.valueOf(b).toString();

    System.out.println(si);
    System.out.println(sl);
    System.out.println(sd);
    System.out.println(sb);
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample11_1.java

その後で、次のように実行してください。

java JSample11_1

ラッパークラスのtoStringメソッドを使用する(1)

int 型、 long 型、 double 型、 boolean 型の値をそれぞれラッパークラスの toString メソッドを使用して文字列に変換しました。

StringクラスのvalueOfメソッドを使用する

数値を文字列に変換する 2 つ目の方法は String クラスで用意されている valueOf メソッドを使って文字列に変換する方法です。 valueOf メソッドはクラスメソッドです。変換する値のデータ型毎に次のようなメソッドが用意されています。

public static String valueOf(boolean b)
public static String valueOf(char c)
public static String valueOf(double d)
public static String valueOf(float f)
public static String valueOf(int i)
public static String valueOf(long l)

※ short 型と byte 型の引数を取るメソッドはありませんが、引数に指定すると int 型に変換されて使用されます。

例として int 型の値を引数に取る valueOf メソッドは次のように定義されています。

public static String valueOf(int i)

パラメータ:
i - int

戻り値:
int引数の文字列表現。

引数に指定した int 型の値を文字列に変換して戻り値として返します。

次のサンプルを見てください。

int num = 10;

String str = String.valueOf(num);

int 型の値に対して String クラスの valueOf メソッドを使って文字列に変換しています。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample11-2.java という名前で保存します。

class JSample11_2{
  public static void main(String[] args){
    int i = 10;
    short s = 21;
    long l = 12L;
    double d = 7.82;
    boolean b = true;

    String si = String.valueOf(i);
    String ss = String.valueOf(s);
    String sl = String.valueOf(l);
    String sd = String.valueOf(d);
    String sb = String.valueOf(b);

    System.out.println(si);
    System.out.println(ss);
    System.out.println(sl);
    System.out.println(sd);
    System.out.println(sb);
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample11_2.java

その後で、次のように実行してください。

java JSample11_2

StringクラスのvalueOfメソッドを使用する(1)

int 型、 short 型、 long 型、 double 型、 boolean 型の値をそれぞれ String クラスの valueOf メソッドを使用して文字列に変換しました。

+演算子を使って文字列と連結する

文字列の連結(+演算子)」で記述していますが + 演算子は文字列と数値が対象だった場合には数値を文字列に変換してから連結を行います。その為、基本データ型の値と空文字 "" を + 演算子で連結することで数値を文字列に変換することができます。

次のサンプルを見てください。

int num = 10;

String str = "" + num;

空文字と int 型の値を + 演算子で連結することで、 int 型の値を文字列に変換しています。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample11-3.java という名前で保存します。

class JSample11_3{
  public static void main(String[] args){
    int i = 10;
    long l = 12L;
    double d = 7.82;
    boolean b = true;

    String si = "" + i;
    String sl = "" + l;
    String sd = "" + d;
    String sb = "" + b;

    System.out.println(si);
    System.out.println(sl);
    System.out.println(sd);
    System.out.println(sb);
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample11_3.java

その後で、次のように実行してください。

java JSample11_3

+演算子を使って文字列と連結する(1)

int 型、 long 型、 double 型、 boolean 型の値をそれぞれ空文字と連結することによって文字列に変換しました。

-- --

Java で int 型や double 型などの数値を文字列へ変換する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。