文章编号: 269370 - 最后修改: 2008年8月27日 - 修订: 7.1

在 Excel 单元格中键入长数字时,最后一些位数被更改为零

展开全部 | 关闭全部

症状

当您在单元格中键入位数超过 15 的数字时,Microsoft Excel 会将第 15 位之后的所有数字都更改为零。例如,如果您尝试用以下格式键入信用卡 ID 号码
####-####-####-####
Excel 便会将最后一位数字更改零。

原因

Excel 在存储和计算浮点数字时遵循 IEEE 754 规范。因此,Excel 只会存储数字的 15 个有效位,并将第 15 位之后的数字更改为零。

替代方法

要解决此问题,请将单元格的格式设置为文本。这样,单元格最多可显示 1,024 个字符。

更多信息

此行为只发生在用于计算的数字上,即发生在设置为数字格式的单元格中。在设置为文本格式的单元格中,您最多可以键入 32,767 个字符,而 Excel 最多可在工作表上显示其中的 1,024 个字符。

由于自定义数字格式主要用于数字,因此无法创建可存储 15 位以上的自定义数字格式。例如,您无法使用以下格式将 16 个字符的信用卡 ID 存储为数字:
####-####-####-####
如果您在使用 ####-####-####-#### 格式的单元格中键入数字 1111222233334444,Excel 将在该单元格中显示“1111-2222-3333-4440”。您尝试存储的实际数字是 1,111,222,233,334,444,此值已超过千的五次方。但是,由于此数字太大,Excel 将丢弃最后一位(即最低有效位),并用零来取代它。

如果在设置为文本格式的单元格中键入该数字,所有字符都将保留键入时的样子,这是因为 Excel 不会尝试将该信用卡 ID 存储为数字,而是将其保留为文本。

这篇文章中的信息适用于:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 标准版
  • Microsoft Excel 2000 标准版
  • Microsoft Excel 97 标准版
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
关键字:?
kbformat kbprb KB269370
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
 

文章翻译