C#で変数の内容を整形して出力するには String.Format メソッドを利用します。
String.Format(書式指定文字列, 変数1, 変数2, ...変数n)
書式指定文字列の書式指定項目は次の形式になります。
{インデックス:フォーマット形式}
インデックスは0から始まる整数、フォーマット形式は標準の書式指定の場合は次の票の書式指定子になります。
書式指定子 | 名前 | 説明 |
---|---|---|
C,c | 通貨 | |
D,d | 10 進数 | |
E,e | 指数 | |
F,f | 固定小数点 | |
G,g | 一般 | |
N,n | 数値 | |
P,p | パーセント | |
R,r | ラウンドトリップ | |
X,x | 16 進数 |
書式指定文字列の詳細はこちらの記事を参照してください。
Button1をクリックすると変数を整形して文字列を取得し、それをTextBox1に表示するコードサンプルです。
C#の場合は書式指定項目で変数のインデックスを指定できるので、第二引数以降の変数の並びと書式指定文字列の並びを合わせる必要はありません。
{0:d}で第二引数の変数の内容を数値として整形します。{1:d}で第三引数の変数の内容を数値として整形します。{2:s}で第四引数の変数の内容を文字列として整形します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FormatDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int a, b, c;
string d;
a = 32;
b = 12;
c = 7;
d = "Duck";
string text = string.Format("{0:d},{1:d} 値:{2:s} - {3:d}/{0:d}", a, b, d, c);
textBox1.Text += text;
}
}
}
32,12 値:Duck - 7/32