C# での 10 進数リテラル

Fil Zjazel Romaeus Villegas 2023年10月12日
C# での 10 進数リテラル

C# で変数を初期化する場合、数値データ型用に意図したデータ型を明示的に指定する必要がある場合があります。そうでない場合は、整数や倍精度浮動小数点数などのデフォルトのデータ型として扱われます。省略した場合、または計算中にエラーが発生すると、コンパイル時エラーが発生する可能性があります。

10 進数リテラル

小数を初期化するときは、以下に示すように実行する必要があります。

decimal decimalValue = 12.0M;

10 進リテラル M を追加しない場合、数値は double として扱われ、エラーが発生します。大文字と小文字の両方の表記を使用できます。10 進接尾辞が M であり、D のような別の文字ではない理由は、double データ型がすでに文字 D を使用しているためです。

例:

using System;

namespace Literal_Example {
  class Program {
    static void Main(string[] args) {
      // Initialize the integer variable a
      var decimalValue = 10.0M;
      Console.WriteLine("First Variable: " + decimalValue.ToString() +
                        "\nData Type: " + decimalValue.GetType().Name + "\n");

      var floatValue = 10.0F;
      Console.WriteLine("Second Variable: " + floatValue.ToString() +
                        "\nData Type: " + floatValue.GetType().Name + "\n");

      var doubleValue = 10.0;
      Console.WriteLine("Third Variable: " + doubleValue.ToString() +
                        "\nData Type: " + doubleValue.GetType().Name + "\n");

      Console.ReadLine();
    }
  }
}

上記の例では、var を使用して暗黙的に 3つの異なる変数を宣言しましたが、それぞれに異なる接尾辞があるか、まったくありませんでした。コンソールに出力される結果を通じて、これによって変数のデータ型がどのように変化するかを観察できます。

出力:

First Variable: 10.0
Data Type: Decimal

Second Variable: 10
Data Type: Single

Third Variable: 10
Data Type: Double

関連記事 - Csharp Decimal