在Informix中将float转换为decimal

时间:2010-04-20 06:47:49

标签: type-conversion decimal informix embedded-sql

我有一个包含十进制类型列的表。有一个表示表的ESQL / C结构。它有一个十进制类型的成员。对于同一个表,我也有一个普通的C结构。上面提到的字段的类型是浮点数。

由于我们使用memcpy将数据复制到ESQL / C结构和从C结构复制数据,因此存在十进制到浮点转换的问题。当我搜索Informix ESQL / C程序员手册时,我找不到任何可以执行此操作的功能。谷歌搜索让我进入了deccvflt()函数。此函数从float转换为十进制类型。

虽然我找不到本手册中列出的这个功能,但我在decimal.h中看到了声明。是否仍建议使用这些功能?

或者,我也在考虑在C结构中使用十进制类型,因为它碰巧是C结构。这样,我仍然可以使用memcpy吗?

请分享您的想法。

IBM Informix Dynamic Server版本11.50.FC3

谢谢, 帕布

1 个答案:

答案 0 :(得分:1)

您可以使用强制转换

直接在查询中转换为浮点数或小数
select name_of_float::decimal(8,2) from table

select name_of_decimal::float from table