ifx_int8soflt() 函数将 int8 类型数值转换为 C float 类型数值。
语法
mint ifx_int8soflt(int8_val, flt_val)
ifx_int8_t *int8_val;
float *flt_val;
int8_val
指向 ifx_int8soflt() 将其值转换为 float 类型值的 int8 结构的指针。
flt_val
指向 ifx_int8soflt() 放置转换的结果处的 float 值的指针。
用法
ifx_int8soflt() 库函数将 int8 值转换为 C float。
C float 的大小依赖于您正在使用的计
算机的硬件和操作系统。
返回代码
0
转换成功。
<0
转换失败。
示例
demo 目录中的文件 int8soflt.ec 包含下列样例程序。
/*
* ifx_int8soflt.ec *
The following program converts three strings to
INT8 values and then to float values and
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 760 -
displays the results.
*/
#include
EXEC SQL include "int8.h";
char string1[] = "-12,555.765";
char string2[] = "480.76";
char string3[] = "5.2";
main()
{
mint x;
float f =0.0;
ifx_int8_t num1, num2, num3;
printf("\nIFX_INT8sOFLT Sample ESQL Program running.\n\n");
if (x = ifx_int8cvasc(string1, strlen(string1), &num1))
{
printf("Error %d in converting string1 to INT8\n", x);
exit(1);
}
if (x = ifx_int8cvasc(string2, strlen(string2), &num2))
{
printf("Error %d in converting string2 to INT8\n", x);
exit(1);
}
if (x = ifx_int8cvasc(string3, strlen(string3), &num3))
{
printf("Error %d in converting string3 to INT8\n", x);
exit(1);
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 761 -
}
printf("\nConverting INT8 to float\n");
if (x= ifx_int8soflt(&num1, &f))
{
printf("\tError %d in converting INT8 to float\n", x);
exit(1);
}
else
{
printf("String 1= %s\n", string1);
printf("INT8 value is = %f\n", f);
}
printf("\nConverting second INT8 to float\n");
if (x= ifx_int8soflt(&num2, &f))
{
printf("\tError %d in converting INT8 to float\n", x);
exit(1);
}
else
{
printf("String2 = %s\n", string2);
printf("INT8 value is = %f\n", f);
}
printf("\nConverting third INT8 to integer\n");
/* Note that the decimal places will be truncated */
if (x= ifx_int8soflt(&num3, &f))
{
printf("\tError %d in converting INT8 to float\n", x);
exit(1);
}
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 762 -
else
{
printf("String3 = %s\n", string3);
printf("INT8 value is = %f\n",f);
}
printf("\nIFX_INT8sOFLT Sample Program over.\n\n");
exit(0);
}
输出
IFX_INT8sOFLT Sample ESQL Program running.
Converting INT8 to float
Executing: ifx_int8soflt(&num1,&f)
String 1= -12,555.765
The value of the first float is = -12555.000000
Converting second INT8 to float
Executing: ifx_int8soflt(&num2, &f)
String2 = 480.76
The value of the second float is = 480.000000
Converting third INT8 to integer
Executing: ifx_int8soflt(&num3, &f)
String3 = 5.2
The value of the third float is = 5.000000
IFX_INT8sOFLT Sample Program over.