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

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

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

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

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

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

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

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

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

ToStringメソッドとは

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

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

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

【C#入門】String.Formatで書式指定子の使い方(0埋め、桁数指定など)
更新日 : 2019年4月23日

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

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

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メソッドは書式を指定して数値や日付データを文字列に変換することができます。

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

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

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

長野 透

長野 透

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
[email protected]