число php раунд до 2 знаков после запятой не работает мой номер 0.00000000000000000000001
и я хочу результат как 0.01
, Я пробовал php number_format () функция php круглый() функции, но они не работают для меня.
Просто создайте простую функцию, которая возвращает либо округленное значение, либо минимальное значение, которое вы хотели бы …
function round_special($x)
{
if ($x == 0) return 0;
$rounded = round($x, 2);
$minValue = 0.01;
if ($rounded < $minValue) {
return number_format($minValue, 2);
} else {
return number_format($rounded, 2);
}
}
Итак, результаты будут выглядеть так:
$x = 0.00000000000000000000001;
echo round_special($x); // 0.01
echo round_special(0.0001); // 0.01
echo round_special(55); // 55.00
echo round_special(0.6); // 0.06
0,01 намного больше, чем 0,00000000000000000000001. Вы не можете округлить его до 0,01. 0,006 можно округлить до 0,01, потому что они очень близки друг к другу.
Number_format () и round () не будут работать в вашем случае.
Эта функция корректирует десятичные дроби в соответствии с оригинальными математическими правилами.
в вашем случае результат всегда будет 0,00 … как 0,01 будет преобразовано в 0,0