Chris,

On Tue, 7 Mar 2000, Chris Fowler wrote:

> I have a column in MySQL as a type float.



> I've emported dollar amounts into this table and when I do a sum on the

> column I'm getting numbers that have more than 3 digits to the right of the

> decimal point.

        Welcome to the world of floating point!

        No, you did nothing wrong.  Some numbers that are "exact" in

decimal are repeating fractions in binary.  0.1 springs to mind.  If

you use the following code:

        double f = 0;

        int i;

        for (i = 0; i < 10; i++)

                f += 0.1;

        printf ("f = %lg\n", f);

you'll find that f isn't quite 1.0.  That's your problem.  If you can

live with it, fine.  Otherwise, store dollar amounts as cents, and

input/display/manipulate them appropriately.

        Good luck!

Danny


--
To unsubscribe: mail ">majordomo@ale.org with "unsubscribe ale" in message body.