使用PHP计算小数位数的函数

问题描述:

是否有一个本地PHP函数,它告诉我一个数字有多少个小数位,或者是否必须自己创建?使用PHP计算小数位数的函数

IE: 
0.8 -> 1 
0.2345 -> 4 
0.894 -> 3 

如果你真的想要这个功能,你必须自己创造。但它不应该那么辛苦 - 只需将其转换为.上的字符串explode(),然后获取数组中第二个元素的长度。

虽然要小心浮点不准确性。

+0

浮点不准确? – Yoshiyahu

+0

浮点数不以字符串形式存储 - 它们存储为基数为2的数字。这意味着任何不是基于2的幂的小数实际上是作为近似存储的(例如,0.3不是作为'精确'存储为0.3,而是2的幂的某种组合非常接近0.3)。因此,如果你输入'0.3',你可能会得到类似'0.2999999999999994'的东西,这在小数点后显然有非常不同的数字。 http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems – Amber

+0

这是一个好主意 –

浮点数以二进制形式存储,它们不具有任何小数位数。它们被转换成十进制表示形式作为打印它们的一部分。打印多少个地方取决于用于打印它们的格式化功能。