System.AnsiStringBase.FormatFloat
C++
static AnsiStringBase FormatFloat(const AnsiStringBase& format,
const long double& value,
int codePage);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | dstring.h | System | AnsiStringBase |
説明
format で指定された書式文字列を使用して、value で指定された浮動小数点値の形式を整えます。
The following format specifiers are supported in the format string.
指定子 | 意味 |
---|---|
0 | 数字を表すプレースホルダ。 書式を適用する値の、書式文字列の中で '0' が出現する位置に数字がある場合、その数字が、出力文字列にコピーされます。 それ以外の場合は、出力文字列のその位置には '0' が格納されます。 |
# | 数字を表すプレースホルダ。 書式を適用する値の、書式文字列の中で '#' が出現する位置に数字がある場合、その数字が、出力文字列にコピーされます。 それ以外の場合は、出力文字列のその位置に何も格納されません。 |
.(ピリオド) | 小数点。 書式文字列内で最初のピリオド('.')が、書式を適用する値の中の小数点位置を決定します。それ以降のピリオドは無視されます。 出力文字列内で小数点記号として使用される実際の文字は、グローバル変数 DecimalSeparator によって決まります。そのデフォルト値は、Windows の [コントロール パネル|地域と言語のオプション] で、[地域オプション] タブの [標準と形式] セクションに指定されています。 |
,(カンマ) | 桁区切り記号。書式文字列に 1 つ以上のコンマ(',')がある場合、出力には小数点の左側の 3 桁ごとの各グループの間に桁区切り記号が挿入されます。 書式文字列内のコンマの位置と数は、桁区切り文字の使用を指定するということ以外は、出力に影響しません。 出力内で桁区切り文字として使用される実際の文字は、グローバル変数 ThousandSeparator によって決まります。そのデフォルト値は、Windows の [コントロール パネル|地域と言語のオプション] で、[地域オプション] タブの [標準と形式] セクションに指定されています。 |
E+ | 科学表記。 書式文字列内に、'E+'、'E-'、'e+'、または 'e-' のうちいずれかの文字列がある場合は、数値は 10 のべき乗を使って表されます。 最大 4 個の '0' 文字のグループを 'E+'、'E-'、'e+'、または 'e-' のすぐ後ろに続けて、指数内の最小桁数を決めることができます。 'E+' と 'e+' の形式では、正の指数にはプラス記号が出力され、負の指数にはマイナス記号が出力されます。 'E-' と 'e-' の形式では、負の指数の場合に限り記号文字が出力されます。 |
'xx' または "xx" | 一重引用符または二重引用符で囲まれた文字は、そのまま出力され、形式指定の影響を受けません。 |
;(セミコロン) | 書式文字列内で、正の数、負の数、0 のためのセクションを区切ります。 |
書式文字列内の小数点より前にある左端の '0' と、書式文字列内の小数点より後の右端の '0' の位置によって、出力文字列に常に表示される桁数の範囲が決まります。
形式を適用する数値は常に、小数点より右側にある、数字を表すプレースホルダ('0' または '#')の数分の、少数位に丸められます。 書式文字列に小数点が含まれていない場合、書式指定対象の値は、それに最も近い整数に丸められます。
書式を適用する数値の小数点記号より左側の桁数が、書式文字列内の "." 文字の左側にある数字を表すプレースホルダの数より多い場合、最初の数字を表すプレースホルダの前に桁を追加して出力されます。
正の数、負の数、ゼロ値に対して異なる形式を指定可能にするため、書式文字列は、セミコロンで区切った 1 ~ 3 個のセクションで構成できます:
- セクションが 1 つの場合: 書式文字列はすべての値に適用されます。
- セクションが 2 つの場合: 第 1 セクションを正の数とゼロに適用し、第 2 セクションを負の数に適用します。
- セクションが 3 つの場合: 第 1 セクションは正の数に、第 2 セクションは負の数に、第 3 セクションは 0 に適用されます。
正の数に対して形式を指定しないと、正の数は、sffGeneral 形式で FloatToStrF を呼び出すのに相当する、有効桁数 15 桁の一般的な浮動小数点形式にされます。 一般的な浮動小数点形式は、小数点より左の桁数が 18 桁を超えていて、書式文字列に科学表記が指定されていない場合にも使用されます。
次の表に、サンプル形式とその形式がさまざまな値に適用されたときに生じる結果をいくつか示します。
書式文字列 | 1234 | -1234 | 0.5 |
---|---|---|---|
1234 | -1234 | 0.5 | 0 |
0 | 1234 | -1234 | 1 |
0.00 | 1234.00 | -1234.00 | 0.50 |
#,## | 1234 | -1234 | ,5 |
#,##0.00 | 1,234.00 | -1,234.00 | 0.50 |
#,##0.00;(#,##0.00) | 1,234.00 | (1,234.00) | 0.50 |
#,##0.00 | 1,234.00 | -1,234.00 | 0.50 |
0.000E+00 | 1.234E+03 | -1.234E+03 | 5.000E-01 |
#.###E-0 | 1.234E3 | -1.234E3 | 5E-1 |