C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で書式を指定して出力する方法(数値・日付のフォーマット)

C#では、String.Formatメソッドを使うことで、数値や日付(DateTime)の出力を自由に書式設定できます。ここでは、double型の数値とDateTime型の日付に対して書式を適用する具体例を紹介します。

double型の書式設定付き出力

まずは、double型の値に対して「小数点以下の桁数指定」と「桁区切り(カンマ挿入)」を行う例です。

サンプルコード

using System;
class Demo {
   public static void Main(String[] args) {

      Console.WriteLine("小数点以下3桁の表示...");
      Console.WriteLine(String.Format("{0:0.000}", 987.383));
      Console.WriteLine(String.Format("{0:0.000}", 987.38));
      Console.WriteLine(String.Format("{0:0.000}", 987.7899));

      Console.WriteLine("桁区切り(3桁ごとのカンマ)...");
      Console.WriteLine(String.Format("{0:0,0.0}", 54567.46));
      Console.WriteLine(String.Format("{0:0,0}", 54567.46));
   }
}

実行結果

小数点以下3桁の表示...
987.383
987.380
987.790
桁区切り(3桁ごとのカンマ)...
54,567.5
54,567

{0:0.000}のように書式指定子を記述すると、小数点以下が必ず3桁で表示されます。987.38のような値は末尾に0が補われて「987.380」となり、987.7899は四捨五入されて「987.790」となります。

また、{0:0,0.0}のようにカンマを含めると、3桁ごとに桁区切り記号が挿入されます。.0を付けると小数点以下1桁まで表示され、付けなければ整数部分のみが出力されます。

DateTime型の書式設定付き出力

次に、DateTime型の日時に対して、年・月・日の各書式指定子を組み合わせて出力する例です。

サンプルコード

using System;
static class Demo {
   static void Main() {

      DateTime d = new DateTime(2018, 2, 8, 12, 7, 7, 123);
      Console.WriteLine(String.Format("{0:y yy yyy yyyy}", d));
      Console.WriteLine(String.Format("{0:M MM MMM MMMM}", d));
      Console.WriteLine(String.Format("{0:d dd ddd dddd}", d));
   }
}

実行結果

18 18 2018 2018
2 02 Feb February
8 08 Thu Thursday

このように、同じ文字でも繰り返し回数によって表示形式が変わります。

  • y / yy / yyy / yyyy: 年を表します。「y」は世紀を除いた年、「yyyy」は4桁の西暦で表示されます。
  • M / MM / MMM / MMMM: 月を表します。「M」「MM」は数値(MMは2桁固定)、「MMM」は月名の省略形(Febなど)、「MMMM」は月名の完全形(Februaryなど)です。
  • d / dd / ddd / dddd: 「d」「dd」は日にち(ddは2桁固定)、「ddd」は曜日の省略形(Thuなど)、「dddd」は曜日の完全名(Thursdayなど)を表示します。

なお、月名や曜日の表示言語は実行環境のカルチャ(文化情報)に依存します。日本語環境では「2月」「木曜日」のように日本語で出力される点にも注意してください。

  1. C#のConsole.ResetColor()メソッドの使い方を解説

    概要C#のConsole.ResetColor()メソッドは、コンソールの前景色(文字色)と背景色を、既定の配色に戻すために使用されます。プログラム内で一時的に文字色や背景色を変更した後、元の状態へ復元したい場合に非常に便利です。構文ResetColor()メソッドの構文は以下のとおりです。public static void ResetColor ();このメソッドは引数を受け取らず、戻り値もありません。また、staticメソッドであるため、インスタンスを生成することなく、Consoleクラスから直接呼び出すことができます。使用例それでは、C#でConsole.ResetColor()メソッ

  2. C#のConsoleクラスとは?主要プロパティの使い方を実例付きで解説

    C#のConsoleクラスは、コンソールアプリケーションにおける標準入力・標準出力・標準エラー出力の各ストリームを表すクラスです。テキストの表示や入力の読み取りだけでなく、文字色や背景色の変更、カーソル位置やサイズの制御など、コンソール操作に関するさまざまな機能が提供されています。ここでは、Consoleクラスの代表的なプロパティの使い方を、サンプルコードと実行結果とあわせて解説します。Console.CursorLeftプロパティコンソール上のカーソル位置(左端から数えた列位置)を変更するには、Console.CursorLeftプロパティを使用します。サンプルコードusing System