B
B
Where do you submit bugs for Access 2000 and Access 2003?
B said:Where do you submit bugs for Access 2000 and Access 2003?
B said:Where do you submit bugs for Access 2000 and Access 2003?
I believe Access 2003 is storing number data types wrong when storing them as
a Single with decimal places. When Access stores 0.1 it adds extra data to
the end resulting in 0.100000001490116, when this number is compared to 0.1
of another data type (field size Decimal) the two numbers are not equal.
Well that explains it but surely this is a trap.
If I can’t get 0.1 Single to equal 0.1 Decimal then why are we allowed to
compare these data types? Also when we start using arithmetic on these
single values the answers are not what is expected (0.1 + 0.1 =
0.200000002980232). I don’t mind how Access stores the data but I do care
about the results, if this isn’t a bug then it is a serious limitation.
John W. Vinson said:It's annoying for sure. You need to take the nature of such numbers into
account, and use a "fuzz factor" rather than comparing equality. If at all
possible, you should use a consistant datatype. Currency or Decimal numbers
don't have the roundoff error - but don't have the range either. If you need
numbers like 10^25 (or for Double, 10^250), or 10^-20, or variable numbers of
decimals (Currency gives you four places), then you're stuck.
For what it's worth, I learned about the problem (in Fortran II on a
room-filling CDC3600) in 1968. It's not news.
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.