DECIMAL データ型は、小数点の有無にかかわらず、-128 から +126 の範囲の指数を持つ最高 32 桁までの有効数字を表す、マシンから独立したメソッドです。 ESQL/C は、DECIMAL 型の数値から、C 言語で使用できる各データ型 (あるいはその逆) に変換するのを容易にするルーチンを提供します。 DECIMAL 型の数値は、底を 100 とする指数と仮数 (または小数部分) で構成されます。 正規形では、仮数の最初の桁は、ゼロより大きくなければなりません。
DECIMAL データ型は、内部で dec_t 構造体と一緒に表示されます。 decimal 構造体および型定義 dec_t は、ヘッダー・ファイル decimal.h 内で検出されます。このヘッダー・ファイルは、ESQL/C 製品に含まれています。このファイルを、decimal 関数を使用するすべての C ソース・ファイルにインクルードしてください。
decimal 型の数の演算はすべて、decimal データ型用の次の ESQL/C ライブラリー関数を使用して実行する必要があります。 その他の演算、変更、または分析を実行すると、 予測不能の結果が生じる可能性があります。
| 関数名 | 説明 |
|---|---|
| deccvasc( ) | C の int1 型を DECIMAL 型に変換する。 |
| dectoasc( ) | DECIMAL 型を C の int1 型に変換する。 |
| deccvint( ) | C の int 型を DECIMAL 型に変換する。 |
| dectoint( ) | DECIMAL 型を C の int 型に変換する。 |
| deccvlong( ) | C の int4 型を DECIMAL 型に変換する。 |
| dectolong( ) | DECIMAL 型を C の int4 型に変換する。 |
| deccvflt( ) | C の float 型を DECIMAL 型に変換する。 |
| dectoflt( ) | DECIMAL 型を C の float 型に変換する。 |
| deccvdbl( ) | C の double 型を DECMAL 型に変換する。 |
| dectodbl( ) | DECIMAL 型を C の double 型に変換する。 |
| decadd( ) | 2 つの DECIMAL 数値を加算する。 |
| decsub( ) | 2 つの DECIMAL 数値を減算する。 |
| decmul( ) | 2 つの DECIMAL 数値を乗算する。 |
| decdiv( ) | 2 つの DECIMAL 数値を除算する。 |
| deccmp( ) | 2 つの DECIMAL 数値を比較する。 |
| deccopy( ) | DECIMAL 数値をコピーする。 |
| dececvt( ) | DECIMAL 値を ASCII ストリングに変換する。 |
| decfcvt( ) | DECIMAL 値を ASCII ストリングに変換する。 |
関連リファレンス
個々の関数の詳細については、次のものを参照してください。
「IBM Informix ESQL/C Programmer's Manual」
C の BIGINT 関数
C の DATE 関数
C の DATETIME および INTERVAL 関数
EGL プログラムからの C 関数の呼び出し