Я хочу, чтобы округлить число до определенного числа значащих цифр - в основном я хочу следующую функцию:PHP - Почему мои вычисления производят другой результат, когда я назначаю его переменной?
round(12345.67, 2) -> 12000
round(8888, 3) -> 8890
У меня есть следующий, но есть странная проблема.
function round_to_sf($number, $sf)
{
$mostsigplace = floor(log10(abs($number)))+1;
$num = $number/pow(10, ($mostsigplace-$sf));
echo ($number/pow(10, ($mostsigplace-$sf))).' '.$num.'<BR>';
}
round_to_sf(41918.522, 1);
Производит следующий вывод:
4.1918522 -0
Как результат вычислений может отличаться, когда он присваивается переменной?
Возможно, вы не используете код, который считаете себя. Когда я запускаю код выше, я вижу: «4.1918522 4.1918522
» – MtnViewMark
Я не знаю, является ли это актуальным, но функция round_to_sf, кажется, принимает 3 аргумента, но вызов функции, кажется, вызывает только с двумя параметрами ... Может быть, im wrong :( –
Я получаю> Предупреждение: Отсутствует аргумент 3 для round_to_sf(), вызывается в C: \ xampp \ htdocs \ code \ playground \ test.php в строке 10 и определен в C: \ xampp \ htdocs \ code \ детская площадка \ test.php on line 2 4.1918522 4.1918522
– dkinzer