How to Fix Floating-Point Rounding Errors in Microsoft Access Totals
Question details
Users encounter inaccurate total sums in Access, displaying values like 33.4499999999999 instead of exactly 33.45.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Calculating the sum of decimal values or monetary fields within a database table or query.
- Observed behavior
- The total row or query result displays a long string of decimal places with a minor floating-point discrepancy rather than a cleanly rounded mathematical sum.
Ensure you have Design View permissions for the specific table or query exhibiting the rounding error, as resolving this requires adjusting data types or calculation expressions.
Change the Field Data Type to Currency
The most effective and recommended way to prevent floating-point inaccuracies for fixed-precision values is to use the Currency data type.
Standard floating-point data types (like Double or Single) store numbers in a binary format that cannot perfectly represent all decimal fractions, leading to tiny rounding discrepancies during summation. The Currency data type bypasses this by storing numbers as highly precise integers.
Right-click the problematic table in the Navigation Pane and select Design View.
Click on the field name (e.g., HrsActual or NetPrice) that contains the decimal values being summed.
Click the Data Type dropdown menu next to the field name and change it from Number (Double/Single) to Currency.
Press Ctrl + S to save the table design. When you sum these values again, the floating-point error will no longer occur.

Apply the ROUND Function to Calculations
If the underlying field must remain a floating-point data type, use the ROUND function in your query to force proper decimal precision.
Present Data Using Forms and Reports
Avoid exposing raw table datasheet total rows to end users, as display formatting and calculation quirks are harder to control at the table level.
Need a simpler way to track and calculate data? Try WPS Spreadsheets
While Microsoft Access is powerful for complex databases, most data tracking, summation, and analysis can be handled far more easily in WPS Spreadsheets. Enjoy a free, lightweight Office suite that guarantees accurate mathematical calculations without the steep learning curve of database development.

Frequently Asked Questions
Why does Microsoft Access show a long decimal instead of an exact number?
This occurs because standard floating-point data types (like Single or Double) store numbers in a binary format. Some decimal fractions cannot be represented precisely in binary, leading to tiny fractional inaccuracies that become visible when multiple numbers are summed.
Does using the Decimal data type fix this Access rounding issue?
Yes, the Decimal data type also stores numbers exactly and avoids floating-point artifacts. However, the Currency data type is historically preferred in Access for fixed-precision numbers (up to 4 decimal places) due to better performance and ease of implementation.
Can I just change the display format to hide the long decimal places?
Yes, you can set the Format property of the field or control to 'Fixed' and 'Decimal Places' to 2. This visually hides the .9999999 artifact, but keep in mind that the underlying stored value still contains the inaccuracy, which could affect further calculations.




