Solved

# How does Access calculate?

Posted on 2003-11-14
330 Views
I have a query that calculates discount prices using the expression below:

= list price * (1-discount)

If the list price is 14.43 & the discount is .27 the query is returning \$10.54.  I changed the format of the field to General Number & and it returned 10.5360898451507.  The the same calculation in Excel or on a calculator returns 10.5339.  Why is this happening?
0
Question by:4044
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• Learn & ask questions

LVL 10

Expert Comment

ID: 9750916
If you just trying to find the discount amount then...
Try this.....

discount = price * discount_amount

newprice = price - discount

--------
D_M_D
0

LVL 9

Accepted Solution

malharone earned 100 total points
ID: 9751268
do you hardcode .27 in your query? or does the .27 get pulled from another recordset?
same for your list price? have you hard coded it? or do you pull it from a recordset (eg. table or query)?

if you hardcoded both of them, then i dont know why you're getting what you're getting.
but if your source for either of these numbers is a table/query, then you should check how those numbers are dervied.
e.g. access may be only showing you 2 decimal places, where actually the filed supports more than 2 and the calculation also returned a value with more than 2 decimal place accuracy.

similarly, in excel, you coul've entered the value "1.23456" but you could set the decimal places to 2 and it'll display "1.23" in the cell. However, it does NOT get rid of the addtional decimal values (e.g. 456), they're still preserved as the part of the actual number.
0

LVL 44

Expert Comment

ID: 9752159
when I do the calculation you show, in a Query, using a field type of double, and Format as Currency for the value 14.42in a Table, I get the SAME value in Access 10.5339 as I get doing that calculation in Excel.  Something else is going on, that you are not elling us.

AW
0

LVL 1

Expert Comment

ID: 9752225
what is your data type for the field in access .. set it up to the number of decimal places you want .. it is rounding up the decimal places.

=============
Long Live the Penguin
=============

Cheers
******
0

LVL 9

Expert Comment

ID: 9761523
change from double to decimal
0

Author Comment

ID: 9763294
Both fields are pulling from tables.  The list price field is setup as a Currency data type, auto decimal places.  The discount field is a setup as a Number data type, Single field size, 2 decimal places.

0

LVL 9

Expert Comment

ID: 9765058
if it's auto decimal places for currency .. then change it to 2... it should'nt have any effects!! right?? ... i think this is what's causing the problem.
0

Author Comment

ID: 9765660
The list price displayed \$14.43, but the actual value stored in that field was 14.432989.... Thanks much!

0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Starting up a Project
###### Suggested Courses
Course of the Month2 days, 11 hours left to enroll

#### 752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.