为什么超过15位后面的数字都显示为0?
作者:小窝来源:部落窝教育发布时间:2023-09-28 19:34:32点击:885
为什么超过15位后的数字都显示为0?
为什么超过15位数字后,后续位数都显示为0?
官方答案:Excel 遵循有关如何存储和计算浮点数的 IEEE 754 规范。 因此,Excel 在数字中仅存储 15 个有效位数,并将第十五位后的数字更改为零。
解读:IEEE 754采用二进制存储和运算,双精度下有效位数是53位,换成十进制(lg 2^53),最大有效位数就是15位。
你可能会问:难道0就不算有效位数了?
还真是!
在计算机浮点运算规则中,数字前方的0和后方的0都不算有效位数,只有位于1~9之间的0才算有效位数。
所以,不只是平常你看到的超过15位的整数其后面位数变成0,小数也是——只不过小数最后的0被省略了。
譬如:
17位的带小数1234567890.1234567,输入后自动变成1234567890.12345,最后的6和7被0取代然后丢掉了;;
19位的纯小数0.012345678901234567,输入后自动变成0.0123456789012345,最后的6和7被0取代然后丢掉了。
下面汇总Excel中数据在常规格式下的显示规则。
显示规则1:最大规则——只保留15位有效数字
15位有效数字右侧的数字都自动变成0。
对带小数而言,整数位数增加,小数位数就会减少,直到没有小数。从这个意义上说对超过15位整数的数字设置小数保留位数毫无意义。
规避规则的方法:如果要输入超过15位的数字而不变0
方法1,提前设置单元格格式为文本,然后输入
方法2,首先输入英文的单引号’,再输入数字。
显示规则2:整数和带小数只要整数部分超过11位就采用科学计数
譬如,输入12位数123456789012,自动显示为1.23457E+11。
规避规则的方法:
自定义单元格格式,格式代码为“0”或者“0.00”。
譬如下图A1:A3中的数字都是123456789012.123,常规格式采用科学计数显示,自定义格式则取消科学计数。
显示规则3: >=0.0001的纯小数,不论多少位都不采用科学计数
不过:
(1)单元格中最多按四舍五入显示9位小数
(2)编辑栏中最多保留15位有效数
显示规则4:<0.0001且小数位数大于9位的小数,采用科学计数
小于<0.0001,且小数位数小于等于9的,按实际显示;小数位数大于9的,采用科学计数,小数部分最多四舍五入保留5位小数。
规避规则的方法:
根据需要设置单元格格式为“数值”,并设置需要显示的小数位数。
显示规则5:常规下的科学计数,小数部分最多按四舍五入保留5位数字
规避规则的方法:
如果需要科学计数的小数位数只保留2位或3位,则更改格式位“科学计数”,并修改小数位数。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育Excel精品好课任你选择!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
版权申明:
本文作者小窝;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。