What you see is not a bug, it’s an annoying heritage of C syntax.  Might even 
precede C.  Here’s the problem:

        select column1*(24/100);

And here’s what you’re meant to do for 24%:

        select column1*(24.0/100.0);

Alternatively, the value in column1 should be real.  That should also work.

If your numbers are real, express them as real, using either a decimal point or 
exponent/mantissa format.  "24" means integer 24.  "24.0" means real 24.

I’ve had this behaviour bite me when I was doing some simple maths in C and 
divided by "4" instead of "4.0".  It took me numerous debugging statements and 
three or four hours to figure out what was wrong, and when I figured it out I 
was so annoyed I left work early.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to