классический способ:
function getFraction($d)
{
while(floor($d) != $d) $d *= 10;
return $d
}
в php не работает. об этом даже в мануале написано (Types, Floating point numbers), что float в php нельзя сравнивать напрямую.
значит, можно через строки:
function getFraction ($d)
{
while( (string) floor($d) != (string) $d) $d *= 10.0;
return $d;
}