【C#入門】ToStringで数値や日付を文字列に変換する方法

ToStringメソッドって使ってますか?

ToStringメソッドを使うと数値や日付を指定した書式で文字列に変換することができます。

この記事では、ToStringメソッドについて

・ToStringメソッドとは
・数値を文字列に変換する方法
・日付を文字列に変換する方法

という基本的な内容から、

・ToStringをオーバーライドする方法

など応用的な内容についても解説していきます。

今回はToStringメソッドについて、使い方をわかりやすく解説します!

目次

ToStringメソッドとは

ToStringメソッドは変数やオブジェクトを文字列に変換するときに使います。

ToStringメソッドの引数には文字列に変換するときの書式を指定します。

書式の指定については、こちらで詳しく解説していますので、ぜひ参考にしてください。

数値を文字列に変換する方法

それでは数値を文字列に変換する方法についてサンプルコードでみていきましょう。

using System;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      double num = 12.3456;
      Console.WriteLine(num.ToString("#.##"));
      
      Console.ReadKey();
    }
  }
}

実行結果:

12.35

このサンプルコードでは、ToStringメソッドを使ってdouble型変数numを文字列に変換しています。

ToStringメソッドの引数では、小数点第2位までで四捨五入されるように書式を指定しています。

日付を文字列に変換する方法

ToStringメソッドでDateTime(日付)型のオブジェクトを文字列に変換することもできます。

using System;

namespace Sample
{
  class Sample
  {
    static void Main()
    {
      DateTime dt = new DateTime(2018, 2, 1);
      Console.WriteLine(dt.ToString("yyyy/MM/dd"));
      
      Console.ReadKey();
    }
  }
}

実行結果:

2018/02/01

このサンプルコードでは、ToStringメソッドを使ってDateTime型オブジェクトdtを文字列に変換しています。

ToStringメソッドの引数では、日時の書式を指定しています。

ToStringをオーバーライドする方法

これまではToStringメソッドを使って数値や日付を文字列に変換してきました。

このToStringメソッドは自作したクラスでオーバーライドして使うこともできます。

オーバーライドとはメソッドの名称、引数、戻り値はそのままで、処理の内容を再定義することです。

サンプルコードで確認しましょう。

using System;

namespace Sample
{
 class test 
 {
   private double num;
   
   public test(double num) {
     this.num = num;
   }
   
   public override string ToString() {
     return String.Format("numは{0:#.##}です", this.num);
   }
 }
 
  class Sample
  {
    static void Main()
    {
      test t = new test(12.3456);
      Console.WriteLine(t.ToString());
      
      Console.ReadKey();
    }
  }
}

実行結果:

numは12.35です

このサンプルコードでは、testクラスを作成しToStringメソッドをオーバーライドしています。

このようにToStringメソッドはカスタマイズすることもできます。

まとめ

ここでは、ToStringメソッドについて説明しました。

ToStringメソッドは書式を指定して数値や日付データを文字列に変換することができます。

また、自作のクラスでオーバーライドすることで文字列への変換をカスタマイズすることもできます。

使いこなすことができるように、この記事を何度も参考にして下さいね!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次