gpt4 book ai didi

excel - MS Access 中的舍入

转载 作者:行者123 更新时间:2023-12-01 18:06:53 26 4
gpt4 key购买 nike

VBA Access 中舍入的最佳方式是什么?

我目前的方法是利用Excel方法

Excel.WorksheetFunction.Round(...

但我正在寻找一种不依赖 Excel 的方法。

最佳答案

请注意,VBA Round 函数使用 Banker 舍入,将 0.5 舍入为偶数,如下所示:

Round (12.55, 1) would return 12.6 (rounds up) 
Round (12.65, 1) would return 12.6 (rounds down)
Round (12.75, 1) would return 12.8 (rounds up)

而 Excel 工作表函数 Round 则始终向上舍入 0.5。

我已经做了一些测试,看起来 0.5 向上舍入(对称舍入)也用于单元格格式设置,也用于列宽舍入(使用通用数字格式时)。 “显示精度”标志本身似乎没有进行任何舍入,它只是使用单元格格式的舍入结果。

我尝试在 VBA 中实现 Microsoft 的 SymArith 函数进行舍入,但发现当您尝试给它一个像 58.55 这样的数字时,Fix 会出错;该函数给出的结果是 58.5,而不是 58.6。然后我终于发现你可以使用 Excel Worksheet Round 函数,如下所示:

Application.Round(58.55, 1)

这将允许您在 VBA 中进行正常舍入,尽管它可能不如某些自定义函数那么快。我意识到这已经从问题中回到了原点,但为了完整起见,我想将其包括在内。

关于excel - MS Access 中的舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/137114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com