View Single Post

   
  #2 (permalink)  
Old 04-19-2008, 07:40 PM
Jonathan Leffler
 
Posts: n/a
Default Re: storing the value of PI

Ravi Krishna wrote:

> I am converting a SQL Server stored procedure to Informix.
> In SQL Server there is a function PI() which returns 3.1415926535897931
> and this can be used in a SQL Server FLOAT variable.
> When I try to create a datatype in Informix to store the same value,
> it seems the best I could do is to create FLOAT(16) and it can only
> take 3.141592653590. Is there a data type in Informix which can take
> the precise value of PI. Am I missing something?


Well, first of all, the value of PI is infinitely big, so unless you
have an inifinite amount of disk space, you can't store it precisely :-)

If you want a better approximation to PI, I recommend using
DECIMAL(n), where n could go as large as 32.

Note that a FLOAT value in Informix is stored in a C double; a DECIMAL
is stored in the on-disk format of an ESQL/C 'struct decimal'.

--
Jonathan Leffler #include <disclaimer.h>
Email: jleffler@earthlink.net, jleffler@us.ibm.com
Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/

Reply With Quote