FORMAT句それ自体は、文字タイプの値を数値タイプの値に変換することはできません。この句は、結果の値の構文解析方法を部分的に制御します。
文字から数値への変換の例を、以下のテーブルにいくつか挙げます。G、D、C、およびN書式制御文字を含むFORMAT句の場合、データ書式設定ファイル(SDF)の指定にある関連項目は以下のようであると想定します。
RadixSeparator {"."} GroupSeparator {","} GroupingRule {"3"} Currency {"$"} ISOCurrency {"USD"} CurrencyName {"US Dollars"}
文字列 | 変換後 | 結果の数値 | フィールド モードで表示される結果 |
---|---|---|---|
'$20,000.00' | DECIMAL(10,2) | 20000.00 | 20000.00 |
'$$$.50' | DECIMAL(10,2) | エラー 文字列ではただ1つの通貨だけが許可されます。 |
エラー |
'$.50' | DECIMAL(8,2) | .50 | .50 |
'.345' | DECIMAL(8,3) | .345 | .345 |
'-1.234E-02' | FLOAT | -.01234 | -.01234 |
'-1E.-2' | FLOAT | エラー 数字の指数部分の前に基数がなければなりません。 |
エラー |
'00000000-.93' | DECIMAL(12,4) | エラー 基数の入った文字列内では、埋め込みダッシュは使用できません。 |
エラー |
'- 55' | INTEGER | -55 | -55 |
'E67' | FLOAT | 0.0 | 0.00000000000000E 000 |
'9876' | DECIMAL(4,2) FORMAT '99V99' |
98.76 | 9876 |
'-123' | INTEGER | -123 | -123 |
'9876' | DECIMAL(4,2) FORMAT '9(2)V9(2)' |
98.76 | 9876 |
'1-2-3' | INTEGER | 123 | 123 |
'123-' | INTEGER | -123 | -123 |
'123- ' | INTEGER | -123 | -123 |
'-1.234E 02' | FLOAT | -123.4 | -1.23400000000000E 002 |
'111,222,333' | INTEGER FORMAT 'G9(I)' |
111222333 | 0,111,222,333 |
'2.49US Dollars' | DECIMAL(10,2) FORMAT 'GZ(I)D9(F)BN' |
2.49 | 2.49 US Dollars |
'25000USD' | INTEGER FORMAT '9(I)C' |
25000 | 0000025000USD |
FORMAT句を指定しない変換は、SDFで定義されている、対応のデータ型のデフォルト書式を使用します。