0

我无法使该round()功能正常工作。这是我目前正在做的事情:

if ($con2 == "sf") {
    $formula = $num * 0.00694444;
    $formula = round($formula);
    $result = $num . $si . "<br>RESULT: " . $formula . $sf;
};

使用此代码,当$num为 144 时,结果为 0.99999936。但是,我需要将其四舍五入为 1。为什么会发生这种情况,我怎样才能round()以我期望的方式行事,而不是这种违反直觉的方式?

4

3 回答 3

4

尝试:

$formula = round($formula, 0);

于 2012-08-15T20:04:54.003 回答
0

指定所需的小数位数:

$formula = $num * 0.00694444;
$formula = round($formula,0);
echo $formula;
于 2012-08-15T20:06:08.000 回答
0

好的 - 你可以试试这个脚本看看会发生什么,当我输入 144 时,这是你正在寻找的行为:

<?
if($_POST){
    $num=$_POST["number"];
    $formula = $num * 0.00694444;
    $formula = round($formula);
    echo $formula;
} else {
?>
<form action="test.php" method="post">
<input type="text" name="number" />
<input type="submit" />
</form>
<?
}
?>
于 2012-08-15T21:36:44.870 回答