.net column
.NET開発者のためのブログメディア

C#で{0}を使って文字列に変数を埋め込む方法|文字列の結合方法など紹介

 
C#で{0}を使って文字列に変数を埋め込む方法|文字列の結合方法など紹介

SE
文字列補間について教えてください。

PM
では{0}を利用した文字列に変数を埋め込む方法を実際のコードを見ながら理解していきましょう。

C#で{0}を使って文字列に変数を埋め込むとは?


今回は、C#で文字列に変数を埋め込む方法についてご紹介します。

C#ではString.Formatメソッドと、{0}のようにカッコ形式で記述する書式指定項目を駆使することで、文字列に変数を埋め込めます。また、書式指定子を指定することで数値のゼロ埋めやパーセント表示された文字列を取得できます。

使い方次第では大変便利ですので、C#で文字列に変数を埋め込む方法や書式指定子について興味がある方はぜひご覧ください。

C#で{0}を使って文字列に変数を埋め込む方法


ここでは、String.Formatメソッドや書式指定子を取り上げてC#で{0}を使って文字列に変数を埋め込む方法を紹介します。サンプルプログラムもありますので、ぜひ参考にしてみてください。

String.Formatメソッド

C#のString.Formatメソッドは、第1引数に指定した書式に対し、第2引数以降で指定したオブジェクトを変換し、変換結果を得られます。戻り値は文字列型です。

埋め込む場所は{0}のように、カッコで囲み、番号を指定します。これを書式指定項目と呼びます。そして上記のようにオブジェクトは複数指定できるため、{0}、{1}・・・のように、書式指定項目には0始まりの番号をカッコに指定します。

書式指定項目の構文は次のとおりです。

[]は省略可能です。alignmentは引数が設定されるフィールドの合計長と、フィールドが右揃え(正の数)または左揃え(負の数)であるかを表す符号付きの整数です。

alignmentの値に応じた実行結果の違いを、サンプルプログラムで確認してみます。

実行結果が次のように出力されます。

右揃え: 1000 左揃え:1000

formatStringは書式指定子を指定します。書式指定子については後述します。

書式指定子

C#の書式指定子は数値書式の種類(通貨やパーセントなど)を指定する単一の英文字です。書式指定子について表形式でまとめました。

また、ゼロ埋めや3桁カンマ区切り、パーセント表示などが可能なカスタム指定子も表形式でまとめました。

書式指定子 説明
C 通貨
D 10進数
E 指数
F 固定小数点
G 全般
N 数値
P パーセント
カスタム指定子 説明
0 ゼロ埋め出力
# 桁数指定
. 小数点以下の桁数指定
, 3桁カンマ区切り
% パーセント表示
; 書式を複数指定する場合、区切りで使用

C#の書式指定子について、通貨の書式指定子「C」を使ったサンプルプログラムです。

実行結果は次のように出力されます。

出力結果は\1,000です

\が先頭に付与され、3桁ごとにカンマが付いた状態で出力されます。日本語環境で実行したため\が付与されましたが、環境の言語設定に応じて\が$に変わったりします。

そのほか、指数「E」やパーセント「P」を書式指定子に使った例です。

実行結果は次のようになります。

指数:3.000000E+000
パーセント:100.00 %

サンプルプログラム

ここまでC#におけるString.Formatメソッドの構文、そして書式指定子について説明しました。それを踏まえ、String.Formatメソッドを使ったいくつかのサンプルプログラムを示します。

①複数の書式指定子項目を使用する
四則演算の結果を出力するサンプルプログラムです。複数の書式指定項目を使用してみました。

実行結果は次のように出力されます。

100+15の計算結果は115です。
100-15の計算結果は85です。
100×15の計算結果は1500です。
100÷15の計算結果は6余り10です。

すでに紹介しましたが、書式指定項目を{0}、{1}、{2}・・・と指定することで、複数の変数を書式文字列に埋め込めます。

②小数桁以下の表示値制御
小数桁以下の表示値を制御するサンプルプログラムです。カスタム指定子「#」を使ってみます。

実行結果は次のように出力されます。

100.12345を小数1桁まで表示:100.1
100.12345を小数3桁まで表示:100.123
100.12345を小数4桁まで表示:100.1235

「#」の数で小数桁を制御しました。指定した桁以下は四捨五入されます。そのため上記の例では小数4桁まで表示した際、小数5桁目が四捨五入されます。

③文字列の連結
文字列を結合するサンプルプログラムです。書式指定項目を駆使して異なる文字列を結合できます。

実行結果は次のように出力されます。

文字列「四捨」と「五入」の結合結果:四捨五入

④ゼロ埋め
最後に、数値をゼロ埋めするサンプルプログラムです。書式指定子を使い、桁指定することで実現できます。数値を5桁に、足りない桁は先頭をゼロ埋めします。

実行結果は次のように出力されます。

5桁ゼロ埋め結果:00001

カスタム指定子を使うことでも同様の結果が得られます。

SE
とてもシンプルなコードでわかりやすいです!

PM
式を挿入したりメソッドを呼び出すことも可能なので、より理解しやすい形式ですね。

C#で{0}を使って文字列に変数を埋め込む


いかがだったでしょうか?C#で{0}を使って文字列に変数を埋め込む方法について紹介しました。C#ではString.Formatメソッドと書式指定項目を駆使することにより可能で、書式指定子を使えばゼロ埋め、パーセント表示もできます。

プログラムを作成するうえでString.Formatメソッドを使用する場面は珍しくないと思います。今回紹介した方法を参考に、ぜひマスターしてみましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags