본문 바로가기

Programming/PHP

PHP 소수점 표시(몇번쨰 이하 버림)


소수점 몇째이하는 버림으로 표시하려고 수많은 삽질의 결과...

round는 당연히 안되고, number_format도 맨 아래 테스트에서 보면 알겠지만 지 멋대로 반올림해버린다.... ㅡ_ㅡ;;;

결국 모듈을 직접 작성하는 수 밖에 없는 것 같다. (힌트는 구글에서 어느 러시아인이 쓴 것)

 

<?
    $a = 3106/100;
    $b = number_format($a, 1);
    echo $b;
    echo "\n";
    echo round_down($a, 2);

 

    function round_down($num, $d = 0)
    {
        return sgn($num)*p_floor(abs($num), $d);
    }

 

    function p_floor( $val, $d )
    {
        return floor($val * pow (10, $d) )/ pow (10, $d) ;
    }


    function sgn($x)
    {
        return $x ? ($x>0 ? 1 : -1) : 0;
    }

?>

결과

31.1
31.06

'Programming > PHP' 카테고리의 다른 글

PHP 막대그래프2  (0) 2009.08.31
PHP로 만들어본 간단한 막대그래프  (0) 2009.08.31
PHP 배열 함수 목록  (0) 2009.08.31
PHP 파일업로드  (0) 2009.08.31