如何更正浮点运算的舍入错误

文章翻译 文章翻译
文章编号: 214118 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

在 Microsoft Excel 和 Microsoft Works 浮点数的算术运算的多种组合可能产生似乎很小的量不正确的结果。例如对于公式
=1*(.5-.4-.1)
可能计算数量 (-2.78E-17),或-0.0000000000000000278 而不是为 0。

原因

此行为不是中的问题或 Excel 或 Works 的限制,出现这种现象的原因在于电气与电子工程师 (IEEE) 754 浮点标准需要以二进制格式存储的数字。

替代方法

方法 1

若要浮动的点算术存储错误的影响降到最低程度,使用 Round() 函数舍入到所需计算的小数位数目的数字。例如对于如果您正在使用货币,您将有可能四舍五入为 2 个小数位:

=round(1*(0.5-0.4-0.1),2)

方法 2

经常可以避免浮点舍入错误影响您的工作,通过使用的 显示精度为准 选项。此选项将强制在工作表中的每个编号,以将工作表上显示的精度的值。

注意使用 显示精度 选项可以累积计算效果,可以使数据越来越不准确随着时间的推移。仅当您确信显示的 percision 将维护您的数据的准确性,请使用此选项。

若要用于 以显示精度为准 选项,请按照下列步骤操作:

Excel 2000,Excel 2002 和 Excel 2003
  1. 工具 菜单上单击 选项
  2. 工作簿选项计算方式 选项卡上单击以选中 以显示精度为准 复选框。
  3. 单击 确定
Excel 2007
  1. 单击 Microsoft Office 按钮,请单击 Excel 选项,然后单击 高级类别
  2. 计算此工作簿时 部分选择所需,单击以选中 设置为显示的精度 复选框的工作簿,然后单击 确定
如果您使用 以显示精度为准 选项,您必须使用特定的数字格式格式化您的数字。

若要设置特定的数字精度的单元格的格式,请按照下列步骤操作:
  1. 用鼠标右键单击要设置其格式的单元格,然后单击 单元格格式
  2. 数字 选项卡上的在 类别 框中,单击 数字
  3. 小数位数 框中选择所需的精度 (数字的小数位数)。
  4. 单击 确定
Excel 2010 年
  1. 单击 文件 选项卡上,单击 Excel 选项,然后单击 高级类别
  2. 计算此工作簿时 部分选择所需,单击以选中 设置为显示的精度 复选框的工作簿,然后单击 确定
如果您使用 以显示精度为准 选项,您必须使用特定的数字格式格式化您的数字。

若要设置特定的数字精度的单元格的格式,请按照下列步骤操作:
  1. 用鼠标右键单击要设置其格式的单元格,然后单击 单元格格式
  2. 数字 选项卡上的在 类别 框中,单击 数字
  3. 小数位数 框中选择所需的精度 (数字的小数位数)。
  4. 单击 确定

更多信息

IEEE 754 标准是以紧凑的方式,易于操作的存储浮点数的一种方法。使用此标准英特尔 coprocessors 和实现浮点数学的大多数基于 PC 的程序。

IEEE 754 指定以减少存储需求,并允许在内置二进制算术说明所有微处理器处理一种相对快速的方式在数据中可用的二进制格式存储的数字。但是,某些数字的是简单,非重复的十进制数转换为重复无法完全精确存储的二进制数。

例如对于数 1/10 可以表示在使用简单的小的十进制数系统中:
.1
但是,以二进制格式相同的编号将成为重复的二进制小数:
.0001100011000111000111 (等等)
此数字不能在一个有限的大小的空间中表示。 因此,此数字被向下舍入的大约-2.78E-17 存储时。

如果几个的算术运算的执行以获取给定的结果,这些舍入错误可能是累积性。

参考

有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
78113浮点运算可能会提供不准确的结果

Excel 2007 和 Excel 2010

有关如何更改计算的精度,请单击工具栏上的 Microsoft Office Excel 帮助 的详细信息,Excel 帮助,中键入 何时以及如何计算公式的更改,然后单击 搜索 以查看相关主题。

Excel 2002 和 Excel 2003

有关更改的计算精度的详细信息的在 帮助 菜单上单击 Microsoft Excel 帮助、 在 Office 助手或应答向导中,键入 何时以及如何计算公式的更改,然后单击 搜索 以查看相关主题。

Excel 2000

有关更改的计算精度的详细信息的 帮助 菜单上单击 Microsoft Excel 帮助、 在 Office 助手或应答向导中,键入 更改 Microsoft Excel 重新计算公式的方式,然后单击 搜索 以查看相关主题。

属性

文章编号: 214118 - 最后修改: 2010年5月13日 - 修订: 8.0
这篇文章中的信息适用于:
  • Microsoft Excel 2000 标准版
  • Microsoft Excel 2002 标准版
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
关键字:?
kbmt kbprb KB214118 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 214118
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com