我无法使round()
功能正常工作。这就是我目前正在做的事情:
if ($con2 == "sf") {
$formula = $num * 0.00694444;
$formula = round($formula);
$result = $num . $si . "<br>RESULT: " . $formula . $sf;
};
使用此代码,当$num
为144时,结果为0.99999936。但是,我需要将其四舍五入为1.为什么会发生这种情况?如何使round()
以我期望的方式行事,而不是采用这种反直觉的方式呢?
答案 0 :(得分:4)
尝试:
$formula = round($formula, 0);
答案 1 :(得分:0)
指定所需的小数位数:
$formula = $num * 0.00694444;
$formula = round($formula,0);
echo $formula;
答案 2 :(得分: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>
<?
}
?>