文字列の整形 String.Format メソッド
【機能】 | 数値や日付を書式を指定して文字列に整形します。 |
【書式】 | String.Format ( "{index[,length][:formatString]}", value )
要素 | 説明 |
index | 0 から始まるパラメータ位置 |
length | 整形する文字列のサイズ。正数の場合、右揃えになります。負数の場合、左揃えになります。 |
formatString | 整形する書式指定文字。 |
標準の数値書式指定文字列 ※大文字/小文字は区別しません
formatString | 機能 | 説明 | 対象 |
C | 通貨 | 通貨値 | すべての数値型 |
D | Decimal | 整数 | 整数型 |
E | 指数 | 指数表記 | すべての数値型 |
F | 固定小数点 | 整数と小数 | すべての数値型 |
G | [全般] | 固定小数点表記または指数表記(簡潔形式) | すべての数値型 |
N | [数値] | 整数と小数の桁区切り | すべての数値型 |
P | パーセント | パーセント記号(数値に 100 を掛ける) | すべての数値型 |
R | ラウンドトリップ | 同じ数値にラウンドトリップできる文字列 | Single、Double、BigInteger。 |
X | 16 進数 | 16 進数文字列 | 整数型 |
|
【戻り値】 | 指定した書式にを整形した string を返します。 |
【例外】 |
ArgumentNullException | 書式指定文字列 が null です。 |
FormatException | 書式指定文字列 が 無効です。 |
|
【 例 】 | string s = String.Format ("{0}" , 1000); | → | "1000" |
【 例 】 | string s = String.Format ("{0:N}yen" , 1000); | → | "1,000.00yen" |
【 例 】 | string s = String.Format ("{0:N0}yen" , 1000); | → | "1,000yen" |
【 例 】 | string s = String.Format ("{0:C}" , 1000); | → | "¥1,000" |
【 例 】 | string s = String.Format ("{0}/{1}/{2}", 2013, 3, 30); | → | "2013/3/30" |
【 例 】 | string s = String.Format ("{0:D4}/{1:D2}/{2:D2}", 2013, 3, 30); | → | "2013/03/30" |
【 例 】 | string s = String.Format ("{0}説明{1}", "{", "}"); | → | "{説明}" |
【 例 】 | string s = String.Format ("{0:P}", 0.98215234); | → | "98.22%" |
【 例 】 | string s = String.Format ("{0:P1}", 0.982998); | → | "98.3%" |
【 例 】 | string s = String.Format ("{0:D6}", 123); | → | "000123" |
【 例 】 | string s = String.Format ("{0:D6}", -123); | → | "-000123" |
【 例 】 | string s = String.Format ("{0:X}", 15); | → | "F" |
【 例 】 | string s = String.Format ("{0:X2}", 15); | → | "0F" |
【 例 】 | string s = String.Format ("{0, -8}/{1, 8}", "ABCD", "EFGH"); | → | "ABCD□□□□/□□□□EFGH" ※□は半角スペース |
【 例 】 | string s = String.Format ("{0, 8:N0}", 1234); | → | "□□□1,234" ※□は半角スペース |
【 例 】 | string s = String.Format ("{0:F}", 123.55555); | → | "123.56" |
【 例 】 | string s = String.Format ("{0:F1}", 123.55555); | → | "123.6" |
【書式】 |
標準の日時の書式指定文字列
formatString | 出力(※カルチャに注意) | 説明 |
d | yyyy/MM/dd | 短い形式の日付パターンです。 |
D | yyyy年M月d日 | 長い形式の日付パターンです。 |
f | yyyy年M月d日 H:mm | 完全な日付と時刻のパターン (短い時刻)。 |
F | yyyy年M月d日 H:mm:ss | 完全な日付と時刻のパターン (長い時刻)。 |
g | yyyy/MM/dd H:mm | 一般の日付と時刻のパターン (短い時刻)。 |
G | yyyy/MM/dd H:mm:ss | 一般の日付と時刻のパターン (長い時間)。 |
m , M | M月d日 | 月日パターン。 |
o , O | yyyy-MM-ddTHH:mm:ss.fffffff | ラウンド トリップ日時のパターン。 |
r , R | ddd, dd MMM yyyy HH:mm:ss GMT | RFC1123 パターン。 |
s | yyyy-MM-ddTHH:mm:ss | 並べ替え可能な日付と時刻のパターン。 |
t | H:mm | 短い形式の時刻パターンです。 |
T | H:mm:ss | 長い形式の時刻パターンです。 |
u | yyyy-MM-dd HH:mm:ssZ | ユニバーサルの並べ替え可能な日付と時刻のパターン。 |
U | yyyy年M月d日 H:mm:ss | 汎用完全な日付と時刻のパターン。(※UTC) |
y , Y | yyyy年M月 | 年月パターン。 |
|
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0}" , dt); | → → | 2013/03/01 9:08:03 "2013/03/01 9:08:03" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:d}" , dt); | → → | 2013/03/01 9:08:03 "2013/03/01" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:D}" , dt); | → → | 2013/03/01 9:08:03 "2013年3月1日" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:f}" , dt); | → → | 2013/03/01 9:08:03 "2013年3月1日 9:08" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:F}" , dt); | → → | 2013/03/01 9:08:03 "2013年3月1日 9:08:03" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:g}" , dt); | → → | 2013/03/01 9:08:03 "2013/03/01 9:08" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:G}" , dt); | → → | 2013/03/01 9:08:03 "2013/03/01 9:08:03" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:m}" , dt); | → → | 2013/03/01 9:08:03 "3月1日" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:M}" , dt); | → → | 2013/03/01 9:08:03 "3月1日" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:O}" , dt); | → → | 2013/03/01 9:08:03 "2013-03-01T09:08:03.0000000" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:R}" , dt); | → → | 2013/03/01 9:08:03 "Fri, 01 Mar 2013 09:08:03 GMT" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:s}" , dt); | → → | 2013/03/01 9:08:03 "2013-03-01T09:08:03" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:t}" , dt); | → → | 2013/03/01 9:08:03 "9:08" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:T}" , dt); | → → | 2013/03/01 9:08:03 "9:08:03" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:u}" , dt); | → → | 2013/03/01 9:08:03 "2013-03-01 09:08:03Z" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:U}" , dt); | → → | 2013/03/01 9:08:03 "2013年3月1日 0:08:03" |
【 例 】 | DateTime dt = DateTime.Parse("2013/3/1 9:08:03"); string s = String.Format ("{0:Y}" , dt); | → → | 2013/03/01 9:08:03 "2013年3月" |
【書式】 |
標準の時間の書式指定文字列
formatString | 出力 | 説明 |
c | d.hh:mm:ss.FFFFFFF | 固定 (不変) 書式 。カルチャに依存しません。 |
g | d:h:mm:ss.FFFFFFF | 一般の短い書式 。カルチャに依存します。 |
G | d:hh:mm:ss.fffffff | 一般の長い書式 。カルチャに依存します。 |
|
【 例 】 | TimeSpan ts = TimeSpan.Parse("9:08:03"); string s = String.Format ("{0}" , ts); | → → | 9:08:03 "09:08:03" |
【 例 】 | TimeSpan ts = TimeSpan.Parse("9:08:03"); string s = String.Format ("{0:c}" , ts); | → → | 9:08:03 "09:08:03" |
【 例 】 | TimeSpan ts = TimeSpan.Parse("9:08:03"); string s = String.Format ("{0:g}" , ts); | → → | 9:08:03 "09:08:03" |
【 例 】 | TimeSpan ts = TimeSpan.Parse("9:08:03"); string s = String.Format ("{0:G}" , ts); | → → | 9:08:03 "0:09:08:03.0000000" |
|