C#の変数のstring変換

変数をstringに変換する方法を紹介します。

1. ToString

ToStringメソッドにより文字列に変換できます。

int a = 10;
Console.WriteLine(a.ToString());

2. フォーマット

文字列の中に変数値を埋め込みたい際は、フォーマットを使用します。C#でstringのフォーマットは複数ありますが、以下の方法で行うのがお勧めです。

int a = 10;
Console.WriteLine($"a = {name}");

実行すると「a = 10」と表示されます。

3. 書式指定

下記のようにalignmentとformatStringを指定することで出力形式を決めることができます。

{変数[,alignment][:formatString]}
ToString("[alignment][:formatString]")

alignmentでは位置を調整します。正の値なら右揃えで、負なら左揃えです。数値を桁数や文字数となります。

3.1 書籍指定子

formatStringは書式指定子です。下記のような指定が可能です。

指定子 意味
G 一般(General)。より簡素な表現で表示されます。 {0.00000123:G} -> 1.23E-06
N 数値(Number)。必要に応じてカンマが入ります。 {11300.97777:N} -> 11,300.98
F 固定小数点(Fixed-point) {113.121:F} -> 113.12
E 指数(Exponential) {11300:E} -> 1.130000E+004
P パーセント(Percent) {0.12:P} ->12.00%
D 10進数 (Decimal) {11300:D} -> 11300
X 16進数の大文字 (Hexadecimal) {10:X} -> A
x 16進数の小文字 (Hexadecimal) {10:X} -> a
C 通貨(Currency) {1200:C} ->¥1,200

3.2 カスタム書式指定子

カスタム書式指定子を使用することもできます。

指定子 意味
0 ゼロプレースホルダ {10: 0000} -> 0010
# 桁プレースホルダ {10: ##.#} -> 10.0
, 桁区切り記号 {0.22456:0.0%} -> 22.5%
. 小数点 {10: ##.#} -> 10.0
% パーセント。100をかけて%をつけます。 {0.22456:0.0%}
; セクション区切り。数値が正・負・ゼロで表示をわけることができます。 {10:000;[000];Zero} -> 010
{-10:000;[000];Zero} -> [010]
{0:000;[000];Zero} -> Zero

3.3 エラー

書式に対して対応していない入力が入ると「System.FormatException」が生じます。

$"{113.3:D}"

ZIDO Corp. ALL RIGHTS RESERVED.