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

C#の数値(N)書式指定子とは?使い方とサンプルコードを解説

C#における数値("N")書式指定子は、数値を読みやすい形式の文字列に変換するための標準書式指定子です。この指定子を使用すると、桁区切り記号(カンマ)や小数点が自動的に挿入され、次のような形式で出力されます。

"-d,ddd,ddd.ddd…"

各要素の意味は以下の通りです。

  • "-":負の数の場合に表示される負号(マイナス記号)
  • "d":数字(0〜9)
  • ",":桁区切り記号(グループセパレーター)
  • ".":小数点記号

基本的な使い方

書式指定子 "N" の後ろに数字を付けることで、小数点以下の表示桁数を指定できます。たとえば "N3" と指定すると、小数第3位まで表示されます。何も指定しない場合は、カルチャ設定に応じた既定の桁数(通常は2桁)が使用されます。

サンプルコード

using System;
using System.Globalization;
class Demo {
    static void Main() {
        double val1 = -5566.789;
        Console.WriteLine(val1.ToString("N", CultureInfo.InvariantCulture));
        int val2 = 87987766;
        Console.WriteLine(val2.ToString("N3", CultureInfo.InvariantCulture));
    }
}

実行結果

-5,566.79
87,987,766.000

コードのポイント

  • val1.ToString("N", CultureInfo.InvariantCulture) では、小数点以下が既定の2桁で表示され、負号と桁区切りのカンマが自動的に付加されます。
  • val2.ToString("N3", ...) では、整数値に対して小数第3位まで表示するよう指定しているため、「87,987,766.000」という結果になります。
  • CultureInfo.InvariantCulture を渡すことで、実行環境のカルチャ設定に依存せず、常に一定の書式で出力されます。国際化対応のアプリケーションでは特に重要なテクニックです。

このように、"N" 書式指定子を使うことで、金額や統計データなど、人間が読みやすい形で数値を簡単に整形できます。桁数の指定やカルチャの制御と組み合わせれば、さまざまな場面で柔軟に活用できるでしょう。

  1. C#のラウンドトリップ(R)書式指定子とは?使い方を解説

    ラウンドトリップ(R)書式指定子とはC#のラウンドトリップ(R)書式指定子は、Single、Double、BigInteger の各型でサポートされている標準の数値書式です。この書式指定子を使用すると、数値を文字列に変換した後、その文字列を再度解析(パース)した際に、必ず元と同じ数値に復元されることが保証されます。つまり、変換による精度の損失がないことが保証されるため、シリアライズやログ出力など、値を厳密に保持したい場面で役立ちます。基本的な使い方まず、double型の変数を用意します。double doubleVal = 0.91234582637;次に、ToString()メソッドを呼び出

  2. C#でTimeSpanをhh:mm:ss形式にフォーマットする方法

    C#では、TimeSpan構造体の値を「hh:mm:ss」形式で簡単にフォーマットして表示することができます。カスタム書式指定子を使えば、時間・分・秒を自由な形式で出力可能です。 TimeSpanの設定 まず、フォーマット対象となるTimeSpanオブジェクトを作成します。 TimeSpan ts = new TimeSpan(9, 15, 30); この例では、9時間15分30秒を表すTimeSpanを作成しています。 TimeSpanをフォーマットするには TimeSpanを「hh:mm:ss」形式でフォーマットするには、次のような書式指定文字列を使用します。 {0:hh\:mm\:ss