ストリング・データ・タイプと数値データ・タイプの間の変換の場合、CAST 関数の FORMAT パラメーターで、オプションのフォーマット設定式を提供できます。
ストリング・タイプから の変換の場合、フォーマット設定式は、ソース・ストリングがターゲット・データ・タイプを満たすように構文解析される方法を定義します。
ストリング・タイプへの 変換の場合、フォーマット設定式はソース式のデータがターゲット・ストリングにフォーマット設定される方法を定義します。
>>-| subpattern |--+-------------------+------------------------> '-;--| subpattern |-' >--+-------------------+--+-----------------+------------------>< '-:groupsep=--chars-' '-:decsep=--chars-' subpattern |--+-------+--digits--+---------+--+---------------+------------> '-chars-' '-.digits-' '-+-e-+--digits-' '-E-' >--+-------+----------------------------------------------------| '-chars-'
ゼロ個または任意数の文字のシーケンス。 subpattern にリストされている特殊文字以外の すべての文字を使用できます。
数値の整数の部分と小数の部分の区切り文字 (小数点) として使用される 1 つ以上の文字。 デフォルトの小数点はピリオド (.) です。
subpattern にリストされている 1 つ以上の数値トークン (0 # - + , . ) のシーケンス。
大きな数値を読みやすくするために整数の桁間の区切り文字として使用される 1 つ以上の文字 (グループ化区切り文字)。 デフォルトのグループ化区切り文字はありません (つまり、桁のグループ化やグループの区切りはありません)。
複数のグループ化区切り文字を (上記の例のように) 使用する場合、右端の区切り文字は 1 次サイズを定義し、右端から 2 番目の区切り文字は 2 次サイズを定義します。
トークン | 意味 |
---|---|
0 | 先行ゼロを含む任意の数字 |
# | 先行ゼロ以外の任意の数字 (この表の後の、0 と # の間の違いに関する説明を参照) |
. | 小数点 |
+ | 正数の接頭部 |
- | 負の数値の接頭部 |
, | グループ化区切り文字 |
E/e | 数値と指数を区切ります。 |
; | サブパターンの境界 |
' | 特殊文字に適用される引用符。 出力に引用符が必要な場合は、2 つの引用符 ('') でなければなりません。 |
* | 埋め込み指定子。 アスタリスクの後の文字を使用して数値を埋め込み、フォーマット制御パターンの長さに合わせます。 |
# 文字と 0 文字は数字の置換に使用されます。これらの文字の違いは、# 文字は置換対象の数値がないと除去されることです。 例えば、10 をパターン #,##0.00 でフォーマット設定すると『10.00』になりますが、0,000.00でフォーマット設定すると『0,010.00』になります。
埋め込み文字を指定するには、アスタリスクを使用してください。 アスタリスクを 2 つの chars 領域 (接頭部および接尾部) のどちらかに使用すると、その直後の文字が出力の埋め込みに使用されます。 埋め込みは一度だけ指定できます。 例えば、パターン *x#,###,##0.00 を 1234 に適用すると、『xxx1,234.00』になります。 しかし 1234567 に適用すると、『1,234,567.00』になります。
以下の表は、フォーマット設定パターン、およびサンプルの数値入力から生成されるストリングを示しています。
パターン | 入力数値 | 出力ストリング |
---|---|---|
+###,##0.00;-###,###,##0.00:groupsep='':decsep=, | 123456789.123 | 『+123'456'789,12』 |
##0.00 | 1000000 | 『1000000.00』 |
##0.00 | 3.14159265 | 『3.14』 |