2010-04-20 31 views
2

我有一個帶有十進制類型的列表。有一個表示表的ESQL/C結構。它有一個十進制類型的成員。對於同一張表,我也有一個正常的C結構。上述字段的類型是一個浮點數。在Informix中將浮點數轉換爲十進制

由於我們使用memcpy將數據從ESQL/C結構複製到C結構,因此存在浮點數轉換十進制的問題。當我搜索Informix ESQL/C程序員手冊時,找不到可以執行此操作的任何函數。 Google搜索引導我進入deccvflt()函數。該函數從浮點型轉換爲十進制型。

雖然我找不到手冊中列出的這個函數,但我在decimal.h中看到了聲明。這些功能是否仍然推薦使用?

或者,我也在考慮在C結構中使用十進制類型,因爲它恰好是C結構。這樣,我仍然可以使用memcpy嗎?

請分享您的想法。

IBM Informix Dynamic Server的版本11.50.FC3

感謝, 帕布

回答

1

你可以轉換到查詢使用強制

select name_of_float::decimal(8,2) from table 

select name_of_decimal::float from table 
直接浮動或十進制
+0

感謝您的回答。學到了新東西。但我更傾向於在查詢之外執行此操作,因爲我通常一直選擇多列。 瞭解一個可以在查詢外執行此操作的函數將是一件好事。 – prabhu 2010-04-20 13:02:02

+0

在查詢中的其他列中也有此功能。 – stacker 2010-04-20 13:42:42

+0

嗯..的確如此。有沒有辦法使用C主機變量的鑄造? – prabhu 2010-04-20 13:59:24

相關問題