gpt4 book ai didi

excel - 舍入值未正确插入 Excel

转载 作者:行者123 更新时间:2023-12-04 22:06:59 25 4
gpt4 key购买 nike

我有一个 Access 数据库,其中有一些数据通过 vba 代码转储到 Excel 工作簿中。一些值有一个很长的小数,我想四舍五入到最接近的十分之一。如果它是一个整数,我不希望将值四舍五入到第十位(即,我不希望将 45 四舍五入为 45.0),所以我使用以下代码:

If Fix(rstTmpRegularAndOvertimeHours!regularhours) = rstTmpRegularAndOvertimeHours!regularhours Then
objWS.cells(intRowCount, 6).Value = rstTmpRegularAndOvertimeHours!regularhours
Else
objWS.cells(intRowCount, 6).Value = Round(rstTmpRegularAndOvertimeHours!regularhours, 1)
End If

舍入的值显示在单元格中,但输入的实际值是未舍入的值。例如,值为4.19999980926513,运行这段代码时,单元格中显示的值为4.2,但点击单元格后,实际值仍为4.19999980926513。当以下代码行运行时:
With objWS.PageSetup
.Orientation = 2
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With

单元格展开以显示整个值并再次显示 4.19999980926513。我在其他地方使用了类似的代码,并且将正确的舍入值插入到电子表格中。有任何想法吗?

最佳答案

对于二进制系统来说,小数部分是具有挑战性的。
Round()返回一个 double 浮点数。但是 4.2 不能完全存储为 double。因此, double 值是 4.2 的近似值,它是使用 double 可以获得的最接近的值。

所以你在 Excel 中看到的是实际的 double 值。如果你想用一个小数位显示它——然后根据它调整列宽——将 Excel 列格式更改为“数字”,“小数位”属性为 1。

关于excel - 舍入值未正确插入 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19100215/

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