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作为输出。