首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft Access自动增加小数

Microsoft Access自动增加小数
EN

Stack Overflow用户
提问于 2017-06-20 04:38:20
回答 2查看 130关注 0票数 0

嗨,我的Access用户伙伴。我正在使用Access进行对账,通过链接两个Excel工作表。这个数字是两个小数。Linked Table view

但是,当我尝试对两个小数都是两个小数的数字进行减法时,结果如下:

如果有人知道这是如何发生的,以及我需要采取什么步骤来解决它,我将不胜感激。

谢谢田

EN

回答 2

Stack Overflow用户

发布于 2017-06-20 08:27:47

对于链接的Excel工作表,列类型可能是Double,即64位浮点数。您遇到的这个问题可能是由于浮点数的固有限制造成的,而不是Excel或Access所独有的。

这个堆栈溢出问题本质上提出了相同的问题:Why does this subtraction not equal zero?

Excel也不例外,只是默认格式可能无法显示必要的精度来揭示行为。选择科学的格式或增加显示的小数位数将显示相同的行为。

请考虑以下几点:

  1. 对于货币金额,请使用CCur()函数将值转换为货币。货币是一个固定的十进制值,但要知道它在小数的右边只有4位数字。(在执行数学运算之前,使用CDec()函数更新以反映从Gustav)
  2. Convert值到定点十进制类型的建议。没有本机VBA Decimal类型,因此这些类型都是包含Decimal值的变体。但是在转换回浮点数时,仍然有可能遇到额外的数字。
  3. 使用limitations.
  4. Choose ()函数对结果进行取整,但同样不能保证消除浮点数以显式格式显示数字。
票数 1
EN

Stack Overflow用户

发布于 2017-06-20 14:35:56

不要直接使用链接的Excel数据。

创建简单的select查询,您可以在其中转换和裁剪数据。像这样:

代码语言:javascript
复制
Select SomeField, Description, CCur([TotalAmount]) As Total
From YourLinkedExcelTable

在处理金额时,请始终使用货币作为数据类型。

现在,使用查询计算Diff。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44639563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档