0

作業例: http: //ideone.com/Ond6PY

$a = 5つまり、 との 2 つの変数があります。$b = 9

これら 2 つのステートメントの数学的な主な違いは何ですか?

floor(floor($a / $b) - .5); //output: -1

(int)((int)($a / $b) - .5); //output: 0

4

2 に答える 2

3

表現の一部の丸みに注目してください。

5/9 の割り算は

$a / $b = 5 / 9 = 0.555555556

http://php.net/manual/en/function.floor.phpを参照してください。

floor(1.5) = 1
floor(-1.5) = -2

それから

floor(floor($a / $b) - .5) = floor(floor(0.555555556)) = floor(0 - .5) = floor(-.5) = -1

2番目のケースはhttp://www.php.net/intvalを参照してください

(int) 4.32 = 4

それから

(int)((int)($a / $b) - .5) = (int)((int)(0.555555556) - .5) = (int)(0 - .5) = int(-0.5) = 0;
于 2013-12-21T20:17:27.393 に答える