C#の通貨(C)書式指定子の使い方を徹底解説
C#における「C」(通貨)書式指定子は、数値を通貨額を表す文字列に変換するために使用されます。カルチャ情報に基づいて通貨記号や桁区切りが自動的に適用されるため、金額の表示に非常に便利です。
基本的な使い方
まずは簡単な例を見てみましょう。次のように、double型の数値を用意します。
double value = 139.87;
この数値を小数点以下3桁まで表示したい場合は、精度指定子を付けた「C3」を使用します。
value.ToString("C3", CultureInfo.CurrentCulture)サンプルコード
もう一つ具体的な例を紹介します。「C」と「C3」それぞれの出力の違いに注目してください。
using System;
using System.Globalization;
class Demo {
static void Main() {
double value = 234.66;
// 通貨記号($)が付加されて表示される
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));
Console.WriteLine(value.ToString("C3", CultureInfo.CurrentCulture));
}
}実行結果
$234.66 $234.660
ポイント解説
- 「C」単体で指定した場合、現在のカルチャ(CurrentCulture)に定義された既定の小数桁数で表示されます。
- 「C3」のように数字を付けると、小数点以下の桁数を明示的に指定できます。
- 通貨記号は実行環境のカルチャ設定によって決まります。日本語環境では「¥」が表示されます。
このように、ToStringメソッドとCultureInfoを組み合わせることで、カルチャに対応した柔軟な通貨表示が簡単に実現できます。
-
C#の16進数(X)形式指定子とは?使い方とサンプルコードをわかりやすく解説
16進数(X)形式指定子とは C#の標準数値書式指定文字列の一つである「X」(または「x」)形式指定子は、整数値を16進数表記の文字列へと変換するために使用されます。デバッグ時の値確認やビット演算の結果表示、データのダンプ出力など、さまざまな場面で役立つ便利な書式です。 大文字と小文字の違い 形式指定子に使うアルファベットの大文字・小文字によって、9より大きい16進数の桁(A〜F)の出力形式が変わります。 「X」:大文字で出力される(例:149A8C80) 「x」:小文字で出力される(例:149a8c80) つまり、「X」を指定すれば ABCDEF のような大文字、「x」を指定すれば a
-
C#のラウンドトリップ(R)書式指定子とは?使い方を解説
ラウンドトリップ(R)書式指定子とはC#のラウンドトリップ(R)書式指定子は、Single、Double、BigInteger の各型でサポートされている標準の数値書式です。この書式指定子を使用すると、数値を文字列に変換した後、その文字列を再度解析(パース)した際に、必ず元と同じ数値に復元されることが保証されます。つまり、変換による精度の損失がないことが保証されるため、シリアライズやログ出力など、値を厳密に保持したい場面で役立ちます。基本的な使い方まず、double型の変数を用意します。double doubleVal = 0.91234582637;次に、ToString()メソッドを呼び出