【问题标题】:Copy from Excel and pasting into Access results in rounding error从 Excel 复制并粘贴到 Access 会导致舍入错误
【发布时间】:2021-01-15 02:23:53
【问题描述】:

我从 MS Excel 中复制了一个带两位小数的计算值,如 excel pic 所示

标记列的值为 5297,95

如果我将其粘贴到 MS Access 中,则会出现舍入错误。粘贴的值变为 5297,94。

为什么会有这种差异?

访问文件链接到 mssql 数据库,列是数字 (9,2)

如果我粘贴为文本,结果是正确的。

【问题讨论】:

  • 单元格内的实际值是多少?你是如何插入值的?我敢打赌,该值实际上小于5297.95 并且大于或等于5297.945(例如5297.9471),当您INSERT 时,您将其截断为字符串值,而不是四舍五入(上)。
  • 很难相信计算的列被截断为 2 位小数,很可能,它包含更多小数但不显示这些小数。另请注意,Access 使用银行家四舍五入,因此将 5297,945 舍入为 5297,94,而 Excel 不使用,并将 5297,945 舍入为 5297,95。即使没有截断,这也可以解释舍入的差异。
  • Excel 中的实际值为 5297,94520547945

标签: sql-server excel ms-access


【解决方案1】:

请在您的 Excel 中更新您的公式以使用 ROUND 公式:

如果您的单元格计算为例如=B2/2

= ROUND(B2/2,2)

最后一个参数是小数点后要四舍五入的位数,在你的例子中是逗号“,”。

请参阅link 获取有关圆形公式的文档。

然后再次尝试您的复制过程。

【讨论】:

    猜你喜欢
    • 2019-11-25
    • 2019-08-11
    • 1970-01-01
    • 2017-11-25
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    相关资源
    最近更新 更多