-4

我正在尝试使用嵌套的 If 语句来测试一个数字是否是数字,以及它是否是数字,然后继续下一个 If 语句来测试它是否是偶数。我遇到的问题是它不是对数字进行四舍五入,而是继续执行下一个 if 语句。任何帮助,将不胜感激!

function CheckIfEven($NumberToCheck)
{
    if (is_numeric($NumberToCheck))
    {
        round($NumberToCheck , 0, PHP_ROUND_HALF_UP); 
        if ($NumberToCheck % 2 == 0)
        {
            echo "The number is even. <br />";
        }
        else
        {
            echo "The number is not even. <br />";
        }
    }
    else
    {
        echo "The value entered is not numeric. <br />";
    }
}
4

2 回答 2

0

您需要将 round() 的返回值存储在一个变量中,然后将其用于其余操作:

$rounded = round($NumberToCheck , 0, PHP_ROUND_HALF_UP);

if ($rounded % 2 == 0)
于 2013-10-20T23:54:02.140 回答
0

PHPround只是返回四舍五入的值,因此您需要将数字分配给它自己:

<?php
$NumberToCheck = round($NumberToCheck, 0, PHP_ROUND_HALF_UP);
?>

手册: http: //php.net/manual/en/function.round.php

于 2013-10-20T23:51:38.730 回答