математика — PHP вводит процентное число с округлением до 2 десятичных знаков не работает

число php раунд до 2 знаков после запятой не работает мой номер 0.00000000000000000000001 и я хочу результат как 0.01, Я пробовал php number_format () функция php круглый() функции, но они не работают для меня.

0

Решение

Просто создайте простую функцию, которая возвращает либо округленное значение, либо минимальное значение, которое вы хотели бы …

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
2

Другие решения

0,01 намного больше, чем 0,00000000000000000000001. Вы не можете округлить его до 0,01. 0,006 можно округлить до 0,01, потому что они очень близки друг к другу.

1

Number_format () и round () не будут работать в вашем случае.

Эта функция корректирует десятичные дроби в соответствии с оригинальными математическими правилами.

в вашем случае результат всегда будет 0,00 … как 0,01 будет преобразовано в 0,0

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector