Chito Lapena <chito@webims.com> writes:
> This has become more of a prominent problem as we've added more data
> integrity checks in our code... We are getting errors like the following
> from our debug output:
> EMP ID: 3 Ledger balance mismatch - record: 116.1 Ledger: 116.1 diff:
> 1.52588e-05
> record: float4
> ledger: float4
If you are expecting exact results, you should be using an exact
datatype, ie numeric. Floating-point calculations are inherently
inexact ... *especially* with float4, which only has about six
significant digits at best.
regards, tom lane