求教关于Excel的神奇现象,无法解释!
在Excel中输入“=round((40000.6-40000.3)*5,)”,结果为“1”,输入“=round(1.5,)”,结果为“2”,而“(40000.6-400...
在Excel中输入“=round((40000.6-40000.3)*5,)”,结果为“1”,输入“=round(1.5,)”,结果为“2”,而“(40000.6-40000.3)*5=1.5”,为何二者结果不一致?(round为Excel中的四舍五入函数)
展开
2个回答
展开全部
=round((40000.6-40000.3)*5,) 40000.6-40000.3 被算成了 0.29999999999999
Excel 浮点 运算的精度问题, 参照Office官方解释:
https://support.microsoft.com/zh-cn/kb/78113
Excel 提供两种基本方法来弥补舍入误差:ROUND 函数,以及“以显示精度为准”或“将精度设为所显示的精度”工作簿选项。
方法 1:ROUND 函数
以下示例使用上面的数据,并使用 ROUND 函数强制将数字舍为五位数。这可让您成功地将结果与另一个值进行比较。A1:1.2E+200
B1:1E+100
C1:=ROUND(A1+B1,5)
结果为 1.2E+200。
D1:=IF(C1=1.2E+200, TRUE, FALSE)
结果值为 TRUE。
方法 2:以显示精度为准
在某些情况下,您可以使用“以显示精度为准”选项来防止四舍五入错误影响您的工作。此选项会强制将工作表中每个数字的值成为显示的值。要打开此选项,请按照下列步骤操作:
在 Excel 2003 和更早的版本中,在“工具”菜单上单击“选项”。
在“重新计算”选项卡上,单击“以显示精度为准”复选框以将其选中。
在 Excel 2007 中,单击“Office 按钮”,单击“Excel 选项”,然后单击“高级”类别。
在“计算此工作簿时”部分中,选择所需的工作簿,然后选中“将精度设为所显示的精度”复选框。
Excel 浮点 运算的精度问题, 参照Office官方解释:
https://support.microsoft.com/zh-cn/kb/78113
Excel 提供两种基本方法来弥补舍入误差:ROUND 函数,以及“以显示精度为准”或“将精度设为所显示的精度”工作簿选项。
方法 1:ROUND 函数
以下示例使用上面的数据,并使用 ROUND 函数强制将数字舍为五位数。这可让您成功地将结果与另一个值进行比较。A1:1.2E+200
B1:1E+100
C1:=ROUND(A1+B1,5)
结果为 1.2E+200。
D1:=IF(C1=1.2E+200, TRUE, FALSE)
结果值为 TRUE。
方法 2:以显示精度为准
在某些情况下,您可以使用“以显示精度为准”选项来防止四舍五入错误影响您的工作。此选项会强制将工作表中每个数字的值成为显示的值。要打开此选项,请按照下列步骤操作:
在 Excel 2003 和更早的版本中,在“工具”菜单上单击“选项”。
在“重新计算”选项卡上,单击“以显示精度为准”复选框以将其选中。
在 Excel 2007 中,单击“Office 按钮”,单击“Excel 选项”,然后单击“高级”类别。
在“计算此工作簿时”部分中,选择所需的工作簿,然后选中“将精度设为所显示的精度”复选框。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询