C 的 DECIMAL 函数

注: 以下 DECIMAL 函数仅对 IBM® Informix® ESQL/C 的用户可用。要使用这些函数,ESQL/C 用户需要手工将 C 代码链接至 ESQL/C 库。

数据类型 DECIMAL 是独立于机器的方法,用于表示最多 32 个有效数字位的数字,可以带或不带小数点,并且指数范围在 -128 与 +126 之间。ESQL/C 提供了一些例程,可以很方便地将 DECIMAL 类型的数字转换成 C 语言中允许的每种数据类型或从该数据类型转换成 DECIMAL 类型的数字。DECIMAL 类型的数字由基数为 100 的指数和尾数(或小数部分)组成。在标准化表单中,尾数的第一位必须大于零。

DECIMAL 数据类型在内部由 dec_t 结构表示。decimal 结构和类型定义 dec_t 可在头文件 decimal.h 中找到,该头文件包括在 ESQL/C 产品中。将此文件加入使用任何十进制函数的所有 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( ) 加上两个 DECIMAL 数字
decsub( ) 减去两个 DECIMAL 数字
decmul( ) 乘以两个 DECIMAL 数字
decdiv( ) 除以两个 DECIMAL 数字
deccmp( ) 比较两个 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 函数

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.