変数を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}"