使用Excel计算小数位会得出奇怪的结果

时间:2019-03-04 12:58:20

标签: excel

我试图使用简单的公式=LEN(A1-INT(A1))-2计算小数位。单元格A1的格式为Standard,并包含例如值100.000739

我不明白为什么公式返回18而不是6?

=A1-INT(A1)               ==> returns 0.000739 which is fine
=LEN(A1-INT(A1))-2        ==> returns 18 
=LEN(0.000739)            ==> returns 8 which is fine

即使我将单元格显式地设置为具有6个小数位的数字,该公式仍会返回18。知道吗?


使用的版本Microsoft Excel 2013

2 个答案:

答案 0 :(得分:0)

LEN返回字符串的长度。 A1-INT(A1)是数字,而不是字符串。

尝试

=T(A1-INT(A1)

并将其与

进行比较
=LEN(T(A1-INT(A1)))

这样,您可以看到LEN实际使用的值。

答案 1 :(得分:0)

这对我有用:

=LEN(A1)-FIND(".",A1)

如果A列中有一些整数,则将出现错误,因为FIND将找不到小数点。您可以通过首先测试A列中的值是否为整数并在这种情况下返回“ 0”来解决该问题,如下所示:

=IF(A1=INT(A1),0,LEN(A1)-FIND(".",A1))