数値を文字列として出力する際の3つの方法(C#)

  • このエントリーをはてなブックマークに追加

スポンサーリンク

※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~

値型を文字列型へ変換して画面に出力

値型と文字列型が混ざったものをコンソールに出力したい場合に、以下のように書いても、望んだ結果は得られません。

ダメなパターン

int a = 10;
int b = 20;
int c = 30;
Console.WriteLine(“1番目の値はa,2番目の値はb,3番目の値はc”);

変数を文字として扱いたい場合は、以下のように書きます

パターン1:パラメーター指定子を使用

Console.WriteLine(“1番目の値は{0},2番目の値は{1},3番目の値は{2}”,a,b,c);

{0}のところにはaの値が、{1}のところにはbの値、{2}のところにはcの値が入ります。

{x}の「x」の部分をパラメーター指定子と呼ばれることがあります。

パターン2:文字列補間(String interpolation)を使用

Console.WriteLine($”1番目の値は{a},2番目の値は{b},3番目の値は{c}”);

パターン1では、パラメーター指定子(ここでは{0})と置換したい変数(ここではa)が離れていてわかりづらいです。

また、置換したい変数が多い場合、パラメーター指定子と変数の対応関係が見づらくなります。

この問題を解決するために、String interpolation(文字列補間)と呼ばれる機能がC#6.0から追加されました。

「$」(ドルマーク)を「”」の前に書くことで、「{}」の中に直接変数を記述できるようになりました。

パターン3:連結演算子を使用

Console.WriteLine(“1番目の値は” + a + “,2番目の値は” + b + “,3番目の値は” + c);

連結演算子「+」は文字列と文字列をくっつけるために使われます。

連結演算子「+」を文字列と値に使用した場合、値は文字列に変換されます。

ソースコード

実行結果

ダメなパターン
1番目の値はa,2番目の値はb,3番目の値はc
————–
1番目の値は10,2番目の値は20,3番目の値は30
1番目の値は10,2番目の値は20,3番目の値は30
1番目の値は10,2番目の値は20,3番目の値は30

書式指定をしたい場合

書式指定子を使うことで、値から文字へ変換する際に、書式を変えることができます。

例えば、書式指定子「p」はパーセント表示を意味します。

ソースコード

実行結果

xのパーセント表示は12.50%です
xのパーセント表示は12.50%です
xのパーセント表示は12.50%です
xのパーセント表示は12.50%です
xのパーセント表示は12.50%です
xのパーセント表示は12.50%です

どの書き方でも結果は変わりません。

 

※補足説明

ToStringは値型を文字列型へ変換するメソッドです。

カッコの中に何も指定しない場合は、値を文字列へ単純に変換します。

値.ToString();

逆に、書式を指定したい場合は、以下のように書きます。

値.ToString(“書式指定子”);

String.Formatも値型を文字列型へ変換する際に使用されます。

関連記事

~プログラミングを勉強してみませんか?~

TechAcademy [テックアカデミー] 無料の体験講座が用意されているので、気軽に体験できます。

※私(サイト主)も無料体験講座を実際に受けてみました(→感想)

     

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)