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

【C#】「#」カスタム書式指定子の使い方を解説

「#」カスタム書式指定子とは

C#における「#」カスタム書式指定子は、桁プレースホルダー(digit-placeholder)として機能する特殊な記号です。

書式設定の対象となる値のうち、「#」記号が書式文字列内で指定された位置に実際の数字が存在する場合、その数字がそのまま結果の文字列へとコピーされます。逆に、該当する位置に数字が存在しない場合は、何も出力されません。

基本的な使い方

まず、double型の変数を用意します。

double d;
d = 4.2;

続いて、「#」カスタム指定子を使用して数値を文字列に変換してみましょう。

d.ToString("#.##", CultureInfo.InvariantCulture)

このように書式を指定することで、小数点以下の表示桁数を柔軟に制御できます。

コード例

以下に、さまざまなパターンの使用例を示します。

using System;
using System.Globalization;
class Demo {
    static void Main() {
        double d;
        d = 4.2;
        Console.WriteLine(d.ToString("#.##", CultureInfo.InvariantCulture));
        Console.WriteLine(String.Format(CultureInfo.InvariantCulture,"{0:#.##}", d));
        d = 345;
        Console.WriteLine(d.ToString("#####"));
        Console.WriteLine(String.Format("{0:#####}", d));
        d = 74567989;
        Console.WriteLine(d.ToString("[##-##-##-##]"));
        Console.WriteLine(String.Format("{0:[##-##-##-##]}", d));
    }
}

実行結果

4.2
4.2
345
345
[74-56-79-89]
[74-56-79-89]

まとめ

「#」指定子を組み合わせることで、小数点以下の桁数制御だけでなく、ハイフンや角括弧などを挟み込んだ独自フォーマット(例:電話番号のような区切り表示)も簡単に実現できます。ToStringメソッドとString.Formatのどちらでも同じ結果が得られるため、用途に応じて使い分けるとよいでしょう。

  1. Galaxy Note 3におすすめのカスタムROM5選

    Samsung Galaxy Note 3は2013年に登場したフラッグシップモデルです。発売から4年が経過したデバイスのため、「今さら価値があるのか」と感じる方もいるかもしれません。しかし、Galaxy Note 3は今日の視点で見ても、高速なプロセッサと3GBのRAMを備えた優れたハードウェアを持ち、最新バージョンのAndroidさえも動作させられる潜在能力があります。ただし、この端末はすでに公式アップデートの提供が終了しており、Android 5.0 Lollipopのまま更新が止まっています。より新しいAndroidをこの端末で使う唯一の方法が、カスタムROMの導入です。「どのカスタム

  2. カスタムPCを組むならここ!おすすめPCビルダーサイト10選

    PC愛好家やゲーマーの間では、理想のカスタムPCを手に入れる最良の方法は「自分で組み立てること」と広く知られています。ゲーミングPCを求めている場合でも、軽めのグラフィック作業用マシンが欲しい場合でも、自作PCはコストパフォーマンスの面で圧倒的なメリットがあります。そこで本記事では、選択の参考にしていただけるよう、インターネット上で利用できる優れたカスタムPCビルダーサイト10選(順不同)を厳選してご紹介します。これらのサイトでは、完成済みのBTOパソコンから、自分で組み立てるための個別パーツまで幅広く取り扱っています。 1. Build My PC Build My PCは、Amazo