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

わかりました - このスクリプトを試してみて、何が起こるか見てください。これは、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 に答える
0

必要な小数点以下の桁数を指定します。

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