demo 目录中的 deccvdbl.ec 文件包含下列样例程序。 /* * deccvdbl.ec * The following program converts two double type numbers to DECIMAL numbers and displays the results. */
#include
EXEC SQL include decimal;
char result[41];
main() { mint x; dec_t num; double d = 2147483647;
printf("DECCVDBL Sample ESQL Program running.\n\n");
printf("Number 1 (double) = 1234.5678901234\n"); if (x = deccvdbl((double)1234.5678901234, #)) { printf("Error %d in converting double1 to DECIMAL\n", x);
GBase 8s ESQL/C 编程指南 南大通用数据技术股份有限公司 - 632 -
exit(1); } if (x = dectoasc(#, result, sizeof(result), -1)) { printf("Error %d in converting DECIMAL1 to string\n", x); exit(1); } result[40] = '\0'; printf(" String Value = %s\n", result);
printf("Number 2 (double) = $.1f\n", d); if (x = deccvdbl(d, #)) { printf("Error %d in converting double2 to DECIMAL\n", x); exit(1); } if (x = dectoasc(#, result, sizeof(result), -1)) { printf("Error %d in converting DECIMAL2 to string\n", x); exit(1); } result[40] = '\0'; printf(" String Value = %s\n", result);
printf("\nDECCVDBL Sample Program over.\n\n"); exit(0); } 输出 DECCVDBL Sample ESQL Program running.
Number 1 (double) = 1234.5678901234 String Value = 1234.5678901234 Number 2 (double) = 2147483647.0
GBase 8s ESQL/C 编程指南 南大通用数据技术股份有限公司 - 633 -
String Value = 2147483647.0 DECCVDBL Sample Program over.
初始化模式。取值如下: deschandl e A TTR _P A R A M A TTR _LI S T_C O LU M N S A TTR _N U M _C O LS P A R A M P A R A M P A R A M A TTR _N U M _C O LS A TTR _N A M E A TTR _D A TA _TY P E A TTR _S C A LE A TTR _P R E C I S I O N A TTR _D A TA _S I ZE G C I P ar am G et ( A TTR _LI S T_C O LU M N S , i )