Try

select (260739.94::double precision * (1.00::double precision /
365.00::double precision) )

default precision in postgres is pretty lossy, use double precision
whenever you need max precision.




2013/4/23 Kanitchet Vaiassava <kanic...@hotmail.com>

> **
> *(Bug) Numeric fault calculation*
>
>  My company has using postgresql as database for ERP application which
> in-house developed.
> For store financial and accounting data, we chose "numeric" type for
> accurate calculation (and with recommend by postgres's documentation) and
> we faced the problem by using "double precision" before.
>
> However, we found that by using numeric had the problem too.
> In our formula for calculate interest for customer's overdue payment
> that using numeric,
> we found that it had fault calculate. So, it effected our interest amount.
>
> In the attached file you can see that the result from postgresql and by
> using long division method is difference.
>
> *postgresql :* 714.35599999999xxxx
> *long division method*: 714.356
>
> and if we multiply this result with interest rate and others factor and
> round up later. the amount is miscalculate.
>
> Thank you and sorry for bad english gramma.
>
>
> Best Regards,
> Kanitchet Vaiassava
> ThaiAce Group
> 555 Nawamin Rd., Klongkum, Buengkum, Bangkok 10230, Thailand
> Mobile +66 89 515 9955; Office +66 2 744 2288; Fax +66 2 379 1166
>
> ---------------------------------------------------------------------------------------------------------------
>
>
> --
> Sent via pgadmin-support mailing list (pgadmin-support@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-support
>
>


-- 
Regards,
Alexander Yerenkow

Reply via email to