2017-01-13 4 views
1
  CODE       RESULTS 

$a = floor(3.5);       //3 
$b = round(3.5, 0, PHP_ROUND_HALF_DOWN); //3 
var_dump($a);       //float(3) 
var_dump($b);       //float(3) 
$c = gettype($a);      //double 
$d = gettype($b);      //double 

차이점은 무엇입니까? 위의 번호는 언제 floor() 또는 round()를 사용해야합니까?층과 원형의 차이점은 무엇입니까

+1

http://stackoverflow.com/a/580252/499581 –

+0

@ l' L' l'll는 당신의 링크에서와 같습니다. –

+0

@KevinWallis : 아니요,하지만 그 개념은 똑같습니다. –

답변

4

floor()은 단순히 10 진수 값을 삭제하고 정수만 반환합니다.

so floor(1.2) => 1floor(1.9) => 1.

한편 round()가 INT를 낮추기 0.5보다 낮은 소수 값을 갖는다 번호, 반올림 때 높은 INT 개 이상의 0.5 :

그래서 round(1.2) => 1하지만 round(1.9) => 2

또한 round()가 갖는 많은 옵션, 정밀도 등 및 반올림 옵션.

+0

... 비록 음수를 다루는 것이 "높다"면 낮은 것을 의미합니다. (예 :'round (-1.9)') 실제로는 더 낮지는 않을 것이다. –