1

出力が切り上げられる関数を構築しようとしています。php関数があることは知っていますが、この関数を別の目的で作りたいと思っています。

4

5 に答える 5

4

天井を使わずに天井が欲しい...

intval($number + .5)

これは同じことですが、組み込み関数を使用しています。

編集:どうやら上記の解決策は私がPHPで意図したようには機能しません。ラウンド関数を使用して同様の効果を得ることができます

round($number + .5)

または別の答えに似たもの:

$n = intval($number + .5);
if($n < $number){
    $n++;
}
于 2013-03-14T10:35:50.687 に答える
1

これでよろしいですか?

function newceil($num)
{
    $re=intval($num);
    if($re<$num) $re++;
    return $re
}
于 2013-03-14T10:39:07.670 に答える
1

小数部分を整数にキャストして切り取り、その後、そのように導出された値が小さいかどうか、または初期値でさえあるかどうかを確認できます。

$input = 3.141592653;
$intVersion = (int) $input;
if($intVersion<$input) $intVersion++;
return $intVersion
于 2013-03-14T10:41:18.800 に答える
0

切り上げ/切り下げをご希望の場合round方法をご利用いただけます

/* Using PHP_ROUND_HALF_UP with 1 decimal digit precision */
 echo round( 1.55, 1, PHP_ROUND_HALF_UP);   //  1.6
 echo round( 1.54, 1, PHP_ROUND_HALF_UP);   //  1.5
 echo round(-1.55, 1, PHP_ROUND_HALF_UP);   // -1.6
 echo round(-1.54, 1, PHP_ROUND_HALF_UP);   // -1.5

 /* Using PHP_ROUND_HALF_DOWN with 1 decimal digit precision */
 echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); //  1.5
 echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); //  1.5
 echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
 echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5

 /* Using PHP_ROUND_HALF_EVEN with 1 decimal digit precision */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); //  1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5

/* Using PHP_ROUND_HALF_ODD with 1 decimal digit precision */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD);  //  1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD);  //  1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD);  // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD);  // -1.5
?>

注:ceilは切り上げます

于 2013-03-14T10:39:50.607 に答える
0

とを使用round()して、数値を切り上げることができます。floor()number_format()

echo round(153.751);     // 154
echo floor(153.751); // 153
echo number_format(153.751); // 154
于 2013-03-14T10:42:21.507 に答える