0

我有$mynumber一个回显 1 到 100 之间的数字的变量,在输出上,我需要将此数字除以 2,将其四舍五入,并在数字之间放置一个点,如下所示:

<?php echo $mynumber ?>

//output e.g. 55

我需要输出 2.7 ( 55/2 -> 27.5 -> 27 -> 2.7 )

我无法正确格式化它,你能帮我吗?谢谢

4

4 回答 4

3

我想这就是你要找的吗?这将向下舍入所有值。

$mynumber = (floor($mynumber/2) /10);

如果要根据值本身向上或向下舍入值,请使用以下命令:

$mynumber = (round($mynumber/2) /10);

于 2013-04-09T21:17:36.857 回答
3

如果$mynumber在 1-100 之间,这应该有效:

<?php echo floor($mynumber/2)/10; ?>
于 2013-04-09T21:16:23.923 回答
2
<?php
$mynumber = 55;
echo (intval($mynumber/2))/10 . "\n";
?>

我假设您并不是真的想要四舍五入而是截断,因为您写道 27.5 变为 27,而不是 28。

于 2013-04-09T21:21:15.590 回答
1
<?php
    $number = 55;

    $mynumber = floor($number/2);
    $chars = strlen($mynumber);
    $pos = substr($mynumber, $chars-1);
    $pos2 = substr($mynumber, $pos)+1;  
    $newNumber = (float)(str_replace($pos, '.', $mynumber).substr($mynumber, $pos2));
    echo $newNumber;
?>
于 2013-04-09T21:50:47.687 回答