excel值中的额外小数位

时间:2018-01-24 13:51:15

标签: excel excel-2016

我正在尝试通过Excel上传将一些数据加载到我们的应用程序中,看起来有些数字字符串没有像在Excel中那样进行转换,而是调整为带有额外小数位的'close'值。

实施例: excel中的0.65变为0.6499999999999999,数据库中的0.83变为0.8299999999999999。

我们检查了电子表格中单元格的显示格式,看看它是否显示四舍五入到两个位置,或者更多位置或实际单元格数据中的公式,但没有发现任何内容。

非常感谢任何帮助。

我们正在使用Excel 2016。

提前致谢。

2 个答案:

答案 0 :(得分:1)

原因可能是二进制/十进制转换错误。有些数字很容易用十进制表示,但二进制表示不那么简单。当这些二进制表示被四舍五入时,结果是一个不精确的答案,可以奇怪地转换回十进制。我建议在进入Excel后将值四舍五入。

=ROUND(A1,2)

应该做的伎俩。如果需要,您可以使用复制/粘贴值覆盖原始数据。 VBA中的函数名称相同。

答案 1 :(得分:1)

我害怕的生活。 Excel对数字数据使用IEEE754双精度浮点类型,在最坏的情况下,它为您提供15位十进制精度数字。

例如,

0.65 是一个二元理性,因此无法用浮点表示。

如果您没有对数据进行任何数值计算,那么最好的办法是将字段视为文本,方法是在其前面加上单引号字符。