2

10 進数型の列を持つテーブルがあります。テーブルを表す ESQL/C 構造があります。10 進数型のメンバーがあります。同じテーブルに相当する通常の C 構造もあります。上記のフィールドの型は float です。

memcpy を使用して ESQL/C 構造との間でデータを C 構造にコピーするため、10 進数から浮動小数点数への変換に問題があります。Informix ESQL/C Programmer's manual を検索したところ、これを実行できる関数が見つかりませんでした。Google 検索で deccvflt() 関数にたどり着きました。この関数は、float から decimal 型に変換します。

この関数はマニュアルに記載されていませんが、decimal.h で宣言されています。これらの機能は引き続き使用することをお勧めしますか?

あるいは、たまたま C の構造体なので、C の構造体でも decimal 型を使用することも考えていました。このように、私はまだ memcpy を使用できますか?

あなたの考えを共有してください。

IBM Informix 動的サーバー バージョン 11.50.FC3

ありがとう、プラブー

4

1 に答える 1

1

You could convert to float or decimal directly in your query using a cast

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

or

select name_of_decimal::float from table
于 2010-04-20T11:42:41.743 に答える