C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で%(パーセント)を使った文字列フォーマットの方法

C#では、String.Formatメソッドを使うことで、数値を簡単にパーセント(%)形式の文字列に変換できます。

標準の数値書式指定子の中には「パーセント書式指定子(%)」が含まれており、これを指定すると、元の値に100を掛けた上で、末尾に「%」記号を自動的に付加します。割合を表す値を見やすい形式で表示したい場合に非常に便利です。

基本的な使い方

例として、次のようなdouble型の値があるとします。

double val = .322;

この値に対してString.Formatを使い、小数点以下1桁のパーセント形式でフォーマットします。

string.Format("string = {0:0.0%}", val);

書式指定子{0:0.0%}の意味は以下の通りです。

  • 0: … 最初の引数(インデックス0)を対象とする
  • 0.0% … 値を100倍し、小数点以下1桁で表示した後に「%」を付ける

サンプルコード

実際のプログラム全体は次のようになります。

using System;

public class Program {
    public static void Main() {
        double val = .322;

        string res = string.Format("string = {0:0.0%}", val);
        Console.WriteLine(res);
    }
}

実行結果

string = 32.2%

このように、元の値0.322が100倍されて32.2となり、「%」記号が付加された文字列が出力されます。

補足:標準のパーセント書式指定子「P」

カスタム書式ではなく、標準の書式指定子を使いたい場合は「P」を利用することもできます。たとえばval.ToString("P1")とすると、カルチャ設定に応じた形式で「32.2 %」のように表示されます。「P」は現在のカルチャによってスペースや記号の位置が変わる点に注意してください。

  1. Python 3で辞書を使って文字列をフォーマットする方法

    Pythonでは、辞書(dict)を活用して文字列への値の埋め込み(補間)を行うことができます。この構文では、%と変換文字の間の括弧内に、辞書のキー名を指定します。例えば、キーcostに格納された浮動小数点数を$xxxx.xxの形式で表示したい場合は、表示したい位置に$%(cost).2fと記述します。辞書を使った文字列フォーマットの基本例以下は、辞書を使った文字列フォーマットで、文字列と数値を同時に補間・整形する例です。>>> print(%(language)s has %(number)03d quote types. % {language: Python, numb

  2. Rubyの文字列フォーマット入門:%演算子と書式指定子の使い方

    この記事では、Rubyで文字列をフォーマットする方法について詳しく解説します。 なぜ文字列のフォーマットが必要なのでしょうか?例えば、10未満の数値にも先頭にゼロを付けて表示したい場合(01、02、03など)、あるいはコンソール出力を見やすいように桁を揃えて整形したい場合などが挙げられます。 他の言語ではprintf関数を使って文字列をフォーマットできます。C言語を使ったことがある人なら馴染み深いでしょう。printfでは、書式指定子(フォーマット指定子)のリストと、変数や値のリストを定義して使用します。 Rubyでの文字列フォーマットの基本 Rubyでもsprintfメソッドが利用可能ですが