EXCEL单元格数值数据中如何用函数的方法判断小数点后有几位?

如题所述

  例子:如数字在a1单元格,可以在B1输入公式
  =LEN(SUBSTITUTE(A1,TRUNC(A1)&".",))
  但是这样有一个问题,如果是公式产生的数字,在单元格格式中设置了小数点位数之后,可能显示的位数和实际的位数有差异,导致错误。
  所以最好对数值先处理一下,比如保留3位小数:
  =LEN(SUBSTITUTE(TRUNC(A1,3),TRUNC(A1)&".",))
  小数保留位数可以根据需要改一下
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-24
比如数字在a1单元格,可以在B1输入公式
=LEN(SUBSTITUTE(A1,TRUNC(A1)&".",))

但是这样有一个问题,如果是公式产生的数字,在单元格格式中设置了小数点位数之后,可能显示的位数和实际的位数有差异,导致错误。
所以最好对数值先处理一下,比如保留3位小数:
=LEN(SUBSTITUTE(TRUNC(A1,3),TRUNC(A1)&".",))
小数保留位数可以根据需要改一下。

补充:上面的公式对负数同样适合
第2个回答  2011-05-24
=LEN(A1)-FIND(".",A1)
但是只能判断小数点后面的实际位数,也就是说3.50也只能判断为1位,因为3.50就是3.5
第3个回答  2021-06-04
非常感谢“redstarw”!找了几个方法,不太管用。
=LOG10(SUBSTITUTE(A1,".",)/A1) | 推荐;
=LEN(A1)-FIND(".",A1,1) | 对整数无效 ;
=LEN(A1)-LEN(INT(A1))-1 | 对整数,会显示-1;
第4个回答  2011-05-24
换个思路:
=LOG10(SUBSTITUTE(A1,".",)/A1)本回答被提问者采纳
相似回答