2016-08-23 3 views
0

PHP를 사용하여 숫자를 반올림하려합니다.PHP 반올림

아래의이 방법을 사용하여 값에 소수 자릿수가 있으면이 작업을 수행했습니다.

$val = floor($val * 2)/2; 
echo 'hello'. $val; 

반올림하려는 값에 소수점이없고 위의 코드가 작동하지 않는 경우.

값을 버리려고합니다.

32456 => 32000 

4567 => 4000 

38999 => 38000 
+0

숫자에 분수가 없으면'$ val * 2'도 정수가됩니다. 따라서 'floor()'는 그것을 변경하지 않습니다. – Barmar

+0

[round thousand hundrard etc.] (https://stackoverflow.com/q/43932648/6521116)를 참조하십시오. –

답변

5

몇 가지 방법이 있습니다.

function roundDown1000($n) 
{ 
    return floor($n/1000) * 1000; 
} 

더 일반적으로 : (가장 가까운 1000 아래로 반올림) 가장 일반적인 방법은 다음과 같이 될 것입니다 당신이 원하는 경우

function roundDown($n, $increment) 
{ 
    return floor($n/$increment) * $increment; 
} 

, 당신은 또한 $n - ($n % 1000)을 할 수 있지만,이 얻을 것이다 $n < 0에 대한 이상한 결과.