C#のデータバインディングで使用するDataFormatStringのフォーマット
C#では、データバインディングの形式を指定するためにDataFormatString属性を使用することができます。DataFormatString属性は、プレースホルダーとフォーマット文字列を含む文字列です。以下はいくつかの一般的なフォーマット文字列の例です:
- {0}:バインドされた値を表します。
- {0:n}: 数字を表示し、千の位はコンマで区切り、小数点以下2桁を保持します。
- {0:c}:通貨を表し、通貨記号とコンマで千の位を区切り、小数点以下2桁を表示します。
- 0: 日付を短い形式で表示します。
- {0:D}:日付を長い形式で表示します。
- {0:t}:時刻を表示し、短い時間形式を使用してください。
- {0:T}:時間の表示に長いフォーマットを使用します。
Here are some examples:
以下はいくつかの例です。
// 数字格式化为货币
Label1.Text = String.Format("{0:c}", 123456.789); // 输出:¥123,456.79
// 数字格式化为百分比
Label2.Text = String.Format("{0:p}", 0.123); // 输出:12.30%
// 日期格式化为短日期
Label3.Text = String.Format("{0:d}", DateTime.Now); // 输出:2022/1/1
// 日期格式化为长日期
Label4.Text = String.Format("{0:D}", DateTime.Now); // 输出:2022年1月1日
// 时间格式化为短时间
Label5.Text = String.Format("{0:t}", DateTime.Now); // 输出:上午12:00
// 时间格式化为长时间
Label6.Text = String.Format("{0:T}", DateTime.Now); // 输出:上午12:00:00
例えば、データバインディングを行うコントロールのDataFormatStringプロパティにこれらのフォーマット文字列を使用して、バインドされたデータをフォーマットすることができます。
<asp:Label ID="Label7" runat="server" Text='<%# Bind("Price", "{0:c}") %>'></asp:Label>
上記のコードは、バインドされたデータを通貨形式に整形します。