php как округлить число в зависимости от количества 0 после запятой

как округлить число в зависимости от количества 0 после запятой?

Приходит случайное число, типа строка например 0,00004123 или 0,03565

каким должно быть условие:

если нолей после запятой 1 выводить 0,03

если нолей после запятой 2 выводить 0,006

если нолей после запятой 4 выводить 0,00004

и так далее.

Спасибо.


Ответы (1 шт):

Автор решения: Алексей Шиманский
$str = '0,00004123';

$index = 0;
for ($i = 0; $i < strlen($str); ++$i) {
    ++$index;
    
    if ($str[$i] !== ',' && $str[$i] !== '0')
        break;
}

echo substr($str, 0, $index);

Можно всячески улучшить: например зная заранее, что будет 0, можно начинать цикл сразу с индекса 2 и также по дефолту в $index занести это смещение

→ Ссылка