PHP数学(编号)

PHP数学(编号),php,math,Php,Math,$temp当前为6。但是可变的结果每次都会改变为不同的数字,因此它不是一个固定的值 无论如何,对于这个$temp*1.1666666,结果将是6.99999996。由于我使用了floor函数,它将被四舍五入到6 当值大于*.49999时,是否有办法将其保持在*.5而不是* 示例:6.5111111,6.78948123,6.9747124 预期产量:6.5 示例:6.49999999,6.12412431,6.33452361 预期输出:6 请注意,$temp值将不断变化。谢谢 使用。这将四舍五

$temp
当前为6。但是可变的结果每次都会改变为不同的数字,因此它不是一个固定的值

无论如何,对于这个
$temp*1.1666666
,结果将是
6.99999996
。由于我使用了floor函数,它将被四舍五入到6

当值大于
*.49999
时,是否有办法将其保持在
*.5
而不是
*

示例:
6.5111111
6.78948123
6.9747124

预期产量:6.5

示例:
6.49999999
6.12412431
6.33452361

预期输出:6

请注意,$temp值将不断变化。谢谢

使用。这将四舍五入到最接近的小数点

$number = round(.1666666 * $temp, 1);
如果要四舍五入到最接近的一半,可以执行以下操作:

function round_to_half($num)
{
  if($num >= ($half = ($ceil = ceil($num))- 0.5) + 0.25) return $ceil;
  else if($num < $half - 0.25) return floor($num);
  else return $half;
}

$number = round_to_half(.1666666 * $temp);
函数四舍五入到四舍五入($num)
{
如果($num>=($half=($ceil=ceil($num))-0.5)+0.25)返回$ceil;
否则,如果($num<$half-0.25)返回地板($num);
否则退回一半;
}
$number=四舍五入到二分之一(.1666666*$temp);
使用。这将四舍五入到最接近的小数点

$number = round(.1666666 * $temp, 1);
如果要四舍五入到最接近的一半,可以执行以下操作:

function round_to_half($num)
{
  if($num >= ($half = ($ceil = ceil($num))- 0.5) + 0.25) return $ceil;
  else if($num < $half - 0.25) return floor($num);
  else return $half;
}

$number = round_to_half(.1666666 * $temp);
函数四舍五入到四舍五入($num)
{
如果($num>=($half=($ceil=ceil($num))-0.5)+0.25)返回$ceil;
否则,如果($num<$half-0.25)返回地板($num);
否则退回一半;
}
$number=四舍五入到二分之一(.1666666*$temp);
试试这段代码

<?php 

    $temp = 6.94444;
    echo myRound($temp);

   function myRound($temp)
    {
        $frac = $temp - floor($temp);
        $frac = ($frac >= .5) ? .5 : 0;
        return ( floor($temp) + $frac );
    }

?>

希望这就是你想要的。

试试这段代码

<?php 

    $temp = 6.94444;
    echo myRound($temp);

   function myRound($temp)
    {
        $frac = $temp - floor($temp);
        $frac = ($frac >= .5) ? .5 : 0;
        return ( floor($temp) + $frac );
    }

?>


希望这就是您想要的。

您是想四舍五入到最接近的小数点,还是只想增加一半?您是想进行银行家四舍五入吗?嗨,吉姆,我不是。我需要的不是从一半到一半的结果。我需要+23.99及以下才能保持为23.5 23.49及以下才能转到23:)。是否要四舍五入到最接近的小数点,还是只希望增量减半?是否尝试进行银行家四舍五入?嗨,吉姆,我不是。我需要的不是从一半到一半的结果。我需要+23.99及以下才能保持23.5 23.49及以下才能转到23:)。嘿,对不起,托比,事实上这是错误的答案。我不是在找最近的小数点。事实上,我期待着我上面所说的答案。示例:6.3235235输出:6示例:6.50149235输出:6.5Hi Conde,我尝试过。对于5.9444444的输出,它四舍五入到6,而不是5.5嘿,对不起,托比,实际上这是错误的答案。我不是在找最近的小数点。事实上,我期待着我上面所说的答案。示例:6.3235235输出:6示例:6.50149235输出:6.5Hi Conde,我尝试过。对于5.9444444的输出,它四舍五入到6,而不是5.5Hi Ashwini。不幸的是,它不起作用。当1.166666*7=8.16666662时。答案是7.你应该再检查一遍。我试过“echo myRound(1.166666*7)”,我得到了8作为输出。不幸的是,它不起作用。当1.166666*7=8.16666662时。答案是7.你应该再检查一遍。我尝试了“echo myRound(1.166666*7)”,结果得到了8作为输出。