OracleのSQL埋め込みC(Proc)に関する質問です。

OracleでNUMBER(18,3)型で定義された項目をCで使いたいです。
当然、DBからデータを持ってくるためのホスト変数を定義します。

NUMBER(18,3)というのは、精度18桁ということです。
Cだとdoubleが精度15桁、long doubleが精度19桁なのですが、
Procでlong double型ホスト変数は定義できません
(double型ならあるのですが精度が足りません)。

char型の変数に文字としておとしてきてからlong doubleの数値に変換、という
方法はあるにはあるのですが、できれば直接数値として取得したいのです。
どうしたらよいのでしょう。同じ問題に直面した事のある方いませんか。