{(インデックス番号):c}
Formatメソッドを用いて通貨の値を表示するコードを紹介します。
Formatメソッドで通貨形式で表示する場合は、標準の数値書式指定文字列の"c","C"を用います。
数値書式指定文字列の詳細はこちらの記事を参照してください。
{(インデックス番号):c}
{(インデックス番号):C}
下図のUIを作成します。Button,TextBox を1つづつ配置します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace NumericFormatDemo
{
public partial class FormCurrency : Form
{
public FormCurrency()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
decimal value = 1285000;
textBox1.Text += string.Format("価格 : {0:c}", value);
}
}
}
Formatメソッドの第一引数には "価格 : {0:c}" を与えています。{0:d} の部分に第二引数の変数の値が入ります。上記のコードでは、変数値は1285000ですので、"価格 : \1,285,000" がテキストボックスに表示されます。
プロジェクトを実行します。下図のウィンドウが表示されます。
[通貨表示]ボタンをクリックします。通貨の表示形式に整形されたテキストがテキストボックスに表示されます。
上記の例では、日本語環境のため、日本円の表記で整形されました。以下では、他の通貨型の表記で整形したい場合のコードを紹介します。
ローカル以外の表記で整形する場合は、Formatメソッドの第一引数にIFormatProvider を与えるタイプのメソッドを利用します。
先のUIにボタンを一つ追加します。
下記のコードを記述します。追加したボタンのClickイベントを実装しています。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Globalization; namespace NumericFormatDemo { public partial class FormCurrency : Form { public FormCurrency() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { decimal value = 243.55M; textBox1.Text += string.Format(CultureInfo.CreateSpecificCulture("en-US"), "Price : {0:c}", value); } } }
Formatメソッドの第一引数に IFormatProvider を与えています。IFormatProvider はCultureInfoクラスのCreateSpecificCultureメソッドの戻り値を与えています。CreateSpecificCulture()メソッドの第一引数に対象とするカルチャーを指定します。
プロジェクトを実行します。下図のウィンドウが表示されます。
[通貨表示]ボタンをクリックします。$(USドル)の通貨の表示形式に整形されたテキストがテキストボックスに表示されます。