C#のリテラル数値サフィックス(接尾辞)の使い方を徹底解説
C#では、数値リテラルにサフィックス(接尾辞)を付けることで、その数値がどの型として扱われるかを明示的に指定できます。サフィックスは数値の末尾に記述する英字で、コンパイラに対して「このリテラルはこの型である」と伝える役割を持っています。
例えば、long型を指定する場合は次のように「L」を付けます。
// long サフィックス long val1 = 29345L;
同様に、double型の場合は「D」を付けます。
// double サフィックス double val2 = 297.325D; Console.WriteLine(val2);
主な数値サフィックスの一覧
| サフィックス | 対象の型 | 使用例 |
|---|---|---|
| L または l | long | 29345L |
| D または d | double | 297.325D |
| F または f | float | 250.35F |
| M または m | decimal | 3245.5678M |
| U または u | uint | 3456U |
| UL または ul | ulong | 123456789UL |
実際のコード例
それでは、各サフィックスを使った具体的なコード例を見てみましょう。
using System.IO;
using System;
public class Program {
public static void Main() {
// long サフィックス
long val1 = 29345L;
Console.WriteLine(val1);
// decimal サフィックス
decimal val5 = 3245.5678M;
Console.WriteLine(val5);
// double サフィックス
double val2 = 297.325D;
Console.WriteLine(val2);
// float サフィックス
float val3 = 250.35F;
Console.WriteLine(val3);
// unsigned サフィックス
uint val4 = 3456U;
Console.WriteLine(val4);
}
}
実行結果
29345 3245.5678 297.325 250.35 3456
サフィックスを使うメリットと注意点
サフィックスを正しく使うことで、以下のようなメリットがあります。
- 意図した型での扱いを保証できる: 特に
floatやdecimalは、サフィックスがないとdoubleとして解釈され、暗黙的な変換エラーになることがあります。 - オーバーフローの防止: 大きな数値を扱う際に
LやULを付けることで、intの範囲を超える値も安全に扱えます。 - 可読性の向上: コードを読む人が、変数の型や数値の意図をすぐに理解できます。
なお、小文字のサフィックスも使用可能ですが、「l」(エル)は数字の「1」と紛らわしいため、慣習的には大文字の「L」を使うことが推奨されています。また、int型には専用のサフィックスは存在せず、デフォルトで整数リテラルはintとして扱われます。
-
JavaScriptのNumber()関数とは?使い方とサンプルコードを解説
JavaScriptのNumber()関数は、引数として渡された値やオブジェクトを、それに対応する数値へ変換するための関数です。真偽値や文字列型の数字、さらにはDateオブジェクトなども数値に変換できるため、データ型の変換処理において非常に便利な組み込み関数の一つです。例えば、Number(true)は「1」、Number(false)は「0」を返します。また、数字のみで構成された文字列「149」を渡せば数値の149に変換され、new Date()で生成した日付オブジェクトを渡すと、1970年1月1日からの経過ミリ秒数が返されます。以下に、Number()関数の動作を確認できるサンプルコードを
-
JavaScriptで数字パターンを表示する方法【初心者向けサンプルコード】
本記事では、テキスト入力欄とボタンを備えたJavaScript・HTMLプログラムの作成方法を解説します。ユーザーが入力欄に任意の数値(例:5)を入力してボタンをクリックすると、画面に以下のような数字パターンが表示される仕組みです。(n = 5 の場合の出力例)01 01 02 01 02 03 01 02 03 04 01 02 03 04 05仕組みのポイントこのパターンは二重ループ(ネストしたforループ)を使うことで実現できます。外側のループが「行」を制御し、内側のループがその行に表示する「数字の個数」を制御します。i 行目には 1 から i までの数字が順番に出力されるため、行が進む