- Рассматривать число как строку.
- Найти позицию первого не-ноля после десятичной точки.
- Взять строку до неё, включительно.
p.s. решать вступительные / с собеседования / конкурсные задачи самостоятельно.
Upd. Если точно на вход будут только числа
(0..1)
, можно так:
substr($n,0,3 + ceil(-log10(abs($n))) - abs(floor($n)) - 1)