書式指定子 | 名前 | 説明 |
|---|
C または c | 通貨 | 数値は、金額を表す文字列に変換されます。変換は、現在の NumberFormatInfo オブジェクトの通貨書式情報によって制御されます。 精度指定子は、小数部の桁数を示します。精度指定子を省略すると、現在の NumberFormatInfo オブジェクトによって指定される既定の金額桁数が使用されます。 次の例では、通貨書式指定子を使って Double 値の書式を設定します。 Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("C", CultureInfo.InvariantCulture))
' Displays 12,345.68
Console.WriteLine(value.ToString("C3", CultureInfo.InvariantCulture))
' Displays 12,345.679
Console.WriteLine(value.ToString("C3", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays $12,345.679
double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.InvariantCulture));
// Displays 12,345.68
Console.WriteLine(value.ToString("C3", CultureInfo.InvariantCulture));
// Displays 12,345.679
Console.WriteLine(value.ToString("C3",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays $12,345.679
|
D または d | 10 進数 | この書式指定は整数型でだけサポートされています。数値は、0 ~ 9 の数字から成る文字列に変換されます。負の数値の場合は、文字列の先頭にマイナス記号が挿入されます。 精度指定子は、変換後の文字列の最小桁数を示します。必要に応じて、精度指定子によって指定された桁数に達するまで、数値の左側にゼロが埋め込まれます。 次の例では、10 進数の書式指定子を使って Int32 値の書式を設定します。 Dim value As Integer
value = 12345
Console.WriteLine(value.ToString("D"))
' Displays 12345
Console.WriteLine(value.ToString("D8"))
' Displays 00012345
value = -12345
Console.WriteLine(value.ToString("D"))
' Displays -12345
Console.WriteLine(value.ToString("D8"))
' Displays -00012345
int value;
value = 12345;
Console.WriteLine(value.ToString("D"));
// Displays 12345
Console.WriteLine(value.ToString("D8"));
// Displays 00012345
value = -12345;
Console.WriteLine(value.ToString("D"));
// Displays -12345
Console.WriteLine(value.ToString("D8"));
// Displays -00012345
|
E または e | 指数 | 数値は、"-d.ddd…E+ddd" または "-d.ddd…e+ddd" という形式の文字列に変換されます。この 'd' は 0 ~ 9 までの 1 桁の数字を示します。負の数値の場合、変換後の文字列の先頭にマイナス記号が挿入されます。小数点の前には 1 桁の数字が必ず示されます。 精度指定子は、小数部の桁数を示します。精度指定子を省略すると、小数部の桁数として既定の 6 桁が使用されます。 書式指定子が大文字の場合は指数部の前に 'E' が挿入され、小文字の場合は 'e' が挿入されます。指数部は常に、プラス記号またはマイナス記号のいずれかと、3 桁以上の桁で構成されます。指数部の桁数が最小桁数の 3 桁よりも少ない場合には、3 桁になるようにゼロが埋め込まれます。 次の例では、指数書式指定子を使って Double 値の書式を設定します。 Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("E", CultureInfo.InvariantCulture))
' Displays 1.234568E+004
Console.WriteLine(value.ToString("E10", CultureInfo.InvariantCulture))
' Displays 1.2345678900E+004
Console.WriteLine(value.ToString("e4", CultureInfo.InvariantCulture))
' Displays 1.2346e+004
Console.WriteLine(value.ToString("E", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 1,234568E+004
double value = 12345.6789;
Console.WriteLine(value.ToString("E", CultureInfo.InvariantCulture));
// Displays 1.234568E+004
Console.WriteLine(value.ToString("E10", CultureInfo.InvariantCulture));
// Displays 1.2345678900E+004
Console.WriteLine(value.ToString("e4", CultureInfo.InvariantCulture));
// Displays 1.2346e+004
Console.WriteLine(value.ToString("E",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 1,234568E+004
|
F または f | 固定小数点 | 数値は、"-ddd.ddd..." という形式の文字列に変換されます。この 'd' は 0 ~ 9 までの数字を示します。負の数値の場合、変換後の文字列の先頭にマイナス記号が挿入されます。 精度指定子は、小数部の桁数を示します。精度指定子を省略すると、現在の NumberFormatInfo オブジェクトの NumberDecimalDigits プロパティによって指定される既定の桁数が使用されます。 次の例では、固定小数点の書式指定子を使って Double および Int32 値の書式を設定します。 Dim integerNumber As Integer
integerNumber = 17843
Console.WriteLine(integerNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 17843.00
integerNumber = -29541
Console.WriteLine(integerNumber.ToString("F3", CultureInfo.InvariantCulture))
' Displays -29541.000
Dim doubleNumber As Double
doubleNumber = 18934.1879
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture))
' Displays 18934
doubleNumber = -1898300.1987
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture))
' Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays -1898300,199
int integerNumber;
integerNumber = 17843;
Console.WriteLine(integerNumber.ToString("F",
CultureInfo.InvariantCulture));
// Displays 17843.00
integerNumber = -29541;
Console.WriteLine(integerNumber.ToString("F3",
CultureInfo.InvariantCulture));
// Displays -29541.000
double doubleNumber;
doubleNumber = 18934.1879;
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture));
// Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture));
// Displays 18934
doubleNumber = -1898300.1987;
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture));
// Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays -1898300,199
|
G または g | 一般 | 数値は、数値の型や、精度指定子が指定されているかどうかに応じて、固定小数点表記または指数表記のいずれかの最も簡潔な形式に変換されます。精度指定子が省略されている場合や、0 である場合は、次のリストに示すように、数値の型によって既定の精度が決定されます。 数値を指数表記で表した結果の指数部が -5 よりも大きく、精度指定子よりも小さい場合は、固定小数点表記が使用されます。それ以外の場合は、指数表記が使用されます。結果には必要に応じて小数点が含まれ、後続のゼロは省略されます。精度指定子が存在し、指定された精度を結果の有効桁数が超える場合は、超過した桁は丸められ削除されます。 上記の規則の例外は、数値が Decimal 型である場合は精度指定子が省略された場合です。この場合は、常に固定小数点表記が使用され、後続のゼロは保持されます。 指数表記が使用される場合、結果の指数部には、書式指定子が 'G' のときには 'E'、書式指定子が 'g' のときには 'e' というプリフィックスが付きます。 次の例では、一般書式指定子を使って、さまざまな浮動小数点値の書式を設定します。 Dim number As Double
number = 12345.6789
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 12345.6789
Console.WriteLine(number.ToString("G", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 12345,6789
Console.WriteLine(number.ToString("G7", CultureInfo.InvariantCulture))
' Displays 12345.68
number = .0000023
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 2.3E-06
Console.WriteLine(number.ToString("G", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 2,3E-06
number = .0023
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 0.0023
number = 1234
Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture))
' Displays 1.2E+03
number = Math.Pi
Console.WriteLine(number.ToString("G5", CultureInfo.InvariantCulture))
' Displays 3.1416
double number;
number = 12345.6789;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 12345.6789
Console.WriteLine(number.ToString("G",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 12345,6789
Console.WriteLine(number.ToString("G7", CultureInfo.InvariantCulture));
// Displays 12345.68
number = .0000023;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 2.3E-06
Console.WriteLine(number.ToString("G",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 2,3E-06
number = .0023;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 0.0023
number = 1234;
Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture));
// Displays 1.2E+03
number = Math.PI;
Console.WriteLine(number.ToString("G5", CultureInfo.InvariantCulture));
// Displays 3.1416
|
N または n | 数値 | 数値は、"-d,ddd,ddd.ddd…" という形式の文字列に変換されます。"-" は負数記号を示し (必要な場合)、"d" は数字 (0 ~ 9) を示し、"," は数値グループ間の桁区切り記号を示し、"." は小数点記号を示します。実際の負数のパターン、数値グループのサイズ、桁区切り記号、および小数点記号は、それぞれ、現在の NumberFormatInfo オブジェクトの NumberNegativePattern、NumberGroupSizes、NumberGroupSeparator、NumberDecimalSeparator の各プロパティによって指定されます。 精度指定子は、小数部の桁数を示します。精度指定子を省略すると、現在の NumberFormatInfo オブジェクトの NumberDecimalDigits プロパティによって指定される既定の桁数が使用されます。 次の例では、数値書式指定子を使って、さまざまな浮動小数点値の書式を設定します。 Dim dblValue As Double = -12445.6789
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture))
' Displays -12,445.68
Console.WriteLine(dblValue.ToString("N1", _
CultureInfo.CreateSpecificCulture("sv-SE")))
' Displays -12445,7
Dim intValue As Integer = 123456789
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture))
' Displays 123,456,789.0
double dblValue = -12445.6789;
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture));
// Displays -12,445.68
Console.WriteLine(dblValue.ToString("N1",
CultureInfo.CreateSpecificCulture("sv-SE")));
// Displays -12445,7
int intValue = 123456789;
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture));
// Displays 123,456,789.0
|
P または p | パーセント | 数値は、パーセント値を表す文字列に変換されます。この変換は、NumberFormatInfo..::.PercentNegativePattern プロパティ (数値が負数の場合) または NumberFormatInfo..::.PercentPositivePattern プロパティ (数値が正数の場合) で定義されます。パーセント値を示すため、変換後の数値に 100 が乗算されます。 精度指定子は、小数部の桁数を示します。精度指定子を省略すると、現在の NumberFormatInfo オブジェクトによって指定される既定の桁数が使用されます。 次の例では、パーセント書式指定子を使って、浮動小数点値の書式を設定します。 Dim number As Double = .2468013
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture))
' Displays 24.68 %
Console.WriteLine(number.ToString("P", _
CultureInfo.CreateSpecificCulture("hr-HR")))
' Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture))
' Displays 24.7 %
double number = .2468013;
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture));
// Displays 24.68 %
Console.WriteLine(number.ToString("P",
CultureInfo.CreateSpecificCulture("hr-HR")));
// Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture));
// Displays 24.7 %
|
R または r | ラウンドトリップ | この書式指定は、Single 型および Double 型でだけサポートされています。ラウンドトリップ指定子は、数値の変換後の文字列が、変換前の数値へ戻るように解析されることを指定します。この指定子を使用して数値の書式を設定すると、最初に一般書式を使用して数値がテストされます。このとき、Double の場合は 15 桁、Single の場合は 7 桁の空白が使用されます。変換後の文字列を解析して変換前の数値へ戻った場合には、一般書式指定子を使用してこの数値の書式が設定されます。変換後の文字列が解析によって変換前の数値に戻らなかった場合には、Double の場合は 17 桁、Single の場合は 9 桁を使用してこの値の書式が設定されます。 精度指定子は、指定できますが無視されます。ラウンドトリップ指定子と精度指定子の両方を指定すると、ラウンドトリップ指定子が優先されます。 次の例では、ラウンド トリップ書式指定子を使って Double 値の書式を設定します。 Dim value As Double
value = Math.Pi
Console.WriteLine(value.ToString("r"))
' Displays 3.1415926535897931
Console.WriteLine(value.ToString("r", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 3,1415926535897931
value = 1.623e-21
Console.WriteLine(value.ToString("r"))
' Displays 1.623E-21
double value;
value = Math.PI;
Console.WriteLine(value.ToString("r"));
// Displays 3.1415926535897931
Console.WriteLine(value.ToString("r",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 3,1415926535897931
value = 1.623e-21;
Console.WriteLine(value.ToString("r"));
// Displays 1.623E-21
|
X または x | 16 進数 | この書式指定は整数型でだけサポートされています。数値は 16 進数文字列に変換されます。書式指定子の大文字と小文字によって、9 よりも大きい 16 進数値を示すアルファベット文字が大文字と小文字のどちらで表示されるかが決まります。たとえば、'X' を指定すると "ABCDEF" となり、'x' を指定すると "abcdef" となります。 精度指定子は、変換後の文字列の最小桁数を示します。必要に応じて、精度指定子によって指定された桁数に達するまで、数値の左側にゼロが埋め込まれます。 次の例では、16 進数の書式指定子を使って Int32 値の書式を設定します。 Dim value As Integer
value = &h2045e
Console.WriteLine(value.ToString("x"))
' Displays 2045e
Console.WriteLine(value.ToString("X"))
' Displays 2045E
Console.WriteLine(value.ToString("X8"))
' Displays 0002045E
value = 123456789
Console.WriteLine(value.ToString("X"))
' Displays 75BCD15
Console.WriteLine(value.ToString("X2"))
' Displays 75BCD15
int value;
value = 0x2045e;
Console.WriteLine(value.ToString("x"));
// Displays 2045e
Console.WriteLine(value.ToString("X"));
// Displays 2045E
Console.WriteLine(value.ToString("X8"));
// Displays 0002045E
value = 123456789;
Console.WriteLine(value.ToString("X"));
// Displays 75BCD15
Console.WriteLine(value.ToString("X2"));
// Displays 75BCD15
|
その他の 1 文字 | (未定義の指定子) | (未定義の指定子は、実行時に FormatException をスローします。) |