假设我们有0.00045。我想找到一种方法来计算小数点后的“有效”零(在这种情况下为3)的数量。我一直在尝试实现strpos或substr,但是遇到了麻烦。
其他前任....
3.006405:应返回“ 2”
0.0000062:应返回“ 5”
9.0100000008:应返回“ 1”
有任何想法吗?
strspn($num, "0", strpos($num, ".")+1)
Run Code Online (Sandbox Code Playgroud)
strspn查找零序列的长度。strpos查找小数点的位置,然后从小数点后的1个位置开始。
但是,这不起作用,0.0000062因为当转换为字符串时,它会转换为科学计数法:6.200000e-6。当数字以结尾时e-<exponent>,零的数量为<exponent>-1。您可以使用正则表达式进行检查。