In Как вычислять, округлять и округлять числа bcmath? , ответ дает вам реализацию функции bcround
, которая использует свои собственные bcfloor
и bcceil
функция, которая, кажется, работает.
В качестве теста, вот что вы просили в своем комментарии.
echo bcround(16.99225, 4); // outputs 16.9923