【C#入門】String.Formatで書式指定子の使い方(0埋め、桁数指定など)

String.Formatメソッドって使ってますか?

String.Formatメソッドで書式を指定することで、指定した書式で出力表示することができます。書式が指定できるので、出力結果が読みやすくなります。

この記事では、String.Formatメソッドについて

  • String.Formatメソッドとは
  • 書式指定子とは
  • カスタム書式指定子とは
  • 0埋めで表示する方法
  • 小数点以下の桁数を指定する方法
  • 3桁区切りで表示する方法
  • ¥マークを付ける方法
  • %表示する方法
  • 複数の文字列を連結する方法

など基本的な内容から、具体的な使い方の内容についても解説していきます。

今回はString.Formatメソッドについて、使い方をわかりやすく解説します!

String.Format メソッド とは

String.FormatメソッドはStringクラスメソッドの1つで、第1引数に指定した書式で第2引数以降のオブジェクトを変換して出力表示します

書式内ではオブジェクト「{ }」(中カッコ)とインデックス番号を使って記述します。

これを複合書式指定と呼びます。

「[ ]」内は省略可能です。

indexは第2引数以降のオブジェクトのインデックス番号を指定します。alignmentでは、書式設定フィールドの幅を指定します。

正の値であれば右揃え、負の値であれば左揃えで出力されます。指定した値の桁数、文字数で出力されます。

formatStringでは、書式指定子を指定します。書式指定子については後ほど解説します。

例:

中カッコ{ }のエスケープ

複合書式指定には「{ }」(中カッコ)を使うとお伝えしました。

では書式内で文字として「{ }」(中カッコ)を使いたい場合はどのようにしたらよいのでしょうか?

その場合は中カッコを続けて記述します。

例:

書式指定子とは

それでは、書式指定子について表にまとめてみました。

指定子説明
G一般(General)
N数値(Number)
F固定小数点数(Fixed-point)
E指数(Exponential)
Pパーセント(Percent)
D10進数(Decimal)
X16進数の大文字(Hexadecimal)
x16進数の小文字(Hexadecimal)
C通貨(Currency)

カスタム書式指定子とは

カスタム書式指定子を使うと数値を0埋めで出力したり、3桁で区切ることができます。

これも表にまとめてみました。

指定子呼び名説明
0ゼロプレースホルダ0埋めで出力
#桁プレースホルダ桁数の指定
,桁区切り記号3桁区切り
.小数点小数点以下の桁数を指定
%パーセントパーセント表示
;セクション区切り記号書式を複数指定する場合に区切りで使用

0埋めで表示する方法

0埋めで表示する方法についてサンプルコードで確認しましょう。

0埋めしたい桁数分だけ0を並べます。

実行結果:

小数点以下の桁数を指定する方法

小数点以下の桁数を指定する方法についてサンプルコードで確認しましょう。

表示したい桁数分だけ#を並べます。

小数点以下の場合、指定した桁数より以下は四捨五入されます。

実行結果:

3桁区切りで表示する方法

3桁区切りで表示する方法についてサンプルコードで確認しましょう。

実行結果:

¥マークを付ける方法

¥マークを付ける方法についてサンプルコードで確認しましょう。

実行結果:

%表示する方法

%表示する方法についてサンプルコードで確認しましょう。

実行結果:

複数の文字列を連結する方法

複数の文字列を連結する方法についてサンプルコードで確認しましょう。

実行結果:

まとめ

ここでは、StringクラスのFormatメソッドについて説明しました。今回お伝えした書式指定子、カスタム書式指定子はToStringメソッドやConsole.WriteLineメソッドでも同じように使えます。

出力形式を読みやすくすることができますので、使いこなすことができるように、この記事を何度も参考にして下さいね!

未来に繋がるプログラミング学習、できていますか?

エンジニアと一口にいっても、フロントエンド、サーバーサイド、アプリ開発、AI関連など様々な業界や職種があり、業務内容や働き方、年収は変わります。

どんな働き方をしたいのか、どのくらい年収が欲しいのかなど具体的なキャリアパスを考えて、それを達成できる学習カリキュラムを考えていかないと、希望する方向性とは違うエンジニアになってしまったり、遠回りの学習に時間を費やしてしまう可能性があります。

侍エンジニア塾では目的から逆算する形で、まずあなたの目指すキャリアをヒアリングさせて頂いてからそれを達成するためのオリジナルの学習カリキュラムを作成しています。

今学んでいることが理想のエンジニアになるために繋がっているか不安でしたら、下記の無料体験レッスン予約カレンダーよりお気軽にご相談ください。

LINEで送る
Pocket

書いた人

長野 透

長野 透

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説