rtrim(rtrim(number_format($price, 2, ',', ' '), '\0'), '\,');
Примеры:
echo rtrim(rtrim(number_format(12000, 4, ',', ' '), '\0'), '\,');
// Вместо 12 000,0000 вернет 12 000
echo rtrim(rtrim(number_format(105.75, 4, ',', ' '), '\0'), '\,');
// Вместо 105,7500 вернет 105,75
echo rtrim(rtrim(number_format(0.8875, 4, ',', ' '), '\0'), '\,');
// 0,8875
rtrim(rtrim(number_format(10000, 4, ',', ' '), '\0'), '\,');
// Вместо 10 000,0000 вернет 10 000
Функция number_format()
форматирует число в соответствии с заданными параметрами, например number_format(105.75, 2, ',', ' ')
вернет 105,75 . Но когда в проекте диапазон чисел от 0,0001 до 1 000 000, удобно автоматически удалять лишнии нули после запятой.
rtrim()
вызывается два раза чтобы сначала удалить все нули после запятой, а затем если самый правый знак это запятая, то удалить и её. Если вызывать rtrim()
один раз и передать для удаления и ноль и запятую, то числа вроде 10000 будут сокращаться до 1.