更新日期:2024年09月11日
deccvdbl() 函数将 C double 类型数值转换为 decimal 类型数值。
语法
mint deccvdbl(dbl_val, np)
double dbl_val;
dec_t *dec_val;
dbl_val
deccvdbl() 转换为 decimal 类型值的 double 值。
dec_val
指向 deccvdbl() 在其中放置转换结果的 decimal 结构的指针。
结果代码
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 631 -
0
转换成功。
<0
转换失败。
示例
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.
特定约定用于在 DB-Access 联机帮助屏幕中表示 SQL 语句的语法。
可以按以下两种方法之一请求 SQL 语句的联机帮助:
l
突出显示 SQL 菜单上的“新建”、
“修改”或“使用编辑器”选项,然后按 CTRL-W。
l
在位于 SQL 菜单的“新建”或“修改”屏幕时,按 CTRL-W。
请求 DB-Access 中 SQL 语句联机帮助时显示的语法图的格式与 GBase 8s SQL 指南:语
法 中的语法图不同。
以下列表中描述了控制 DB-Access 联机帮助屏幕中的 SQL 语句语法的约定和规则。
ABC
SQL 语句中以大写字母显示的任何术语均为关键字。准确地输入关键字,忽略大小写,如
以下示例中所示:
CREATE SYNONYM synonym-name
此语法指示您必须输入关键字 CREATE SYNONYM 或 create synonym,而不能添加或删除空
格或字母。
abc
用一个值替换以小写字母显示的任何术语。
在上一个示例中,
用一个值替换 synonym-name。
( )
如同显示的那样输入任何圆括号。它们是 SQL 语句语法的一部分,而不是特殊符号。
[ ]
不要输入方括号作为语句的一部分。它们括起语句中可选的任何部分。例如:
CREATE [TEMP] TABLE
此语法指示您可以输入 CREATE TABLE,也可以输入 CREATE TEMP TABLE。
竖线指示在几个选项中进行选择。例如:
[VANILLA | CHOCOLATE [MINT] | STRAWBERRY]
GBase 8s DB-Access 用户指南
南大通用数据技术股份有限公司 - 42 -
此语法指示您可以输入 VANILLA、CHOCOLATE 或 STRAWBERRY,并且如果输入 CHOCOLATE,
还可以输入 MINT。
{ }
当您必须在几个选项中只选择一个选项时,这些选项被括在花括号中,并用竖线分开。例
如:
{GUAVA | MANGO | PASSIONFRUIT}
此语法指示您必须输入 GUAVA、MANGO 或 PASSIONFRUIT,但不能输入多于一个选项。
...
省略号指示您可以输入不确定数目的附加项,如一项后面紧跟省略号。例如:
old-column-name
...
此语法指示您可以在第一个列名后输入一系列现有的列名。