PHP 소수점 표시 몇번째 이하 버림
페이지 정보
본문
round는 당연히 안되고, number_format도 반올림합니다.
늘아침처럼님이 만드신 함수를 활용하면 명쾌하게 해결할수 있습니다.
<?php
$a = 31465.7 / 1000;
echo "original = ". $a ."<br /><br />";
echo "1-digit Decimal point = ". number_format($a,1) ."<br />";
echo "1-digit Decimal point = ". round_down($a,1) ."<br /><br />";
echo "2-digit Decimal point = ". number_format($a,2) ."<br />";
echo "2-digit Decimal point = ". round_down($a,2) ."<br /><br />";
echo "3-digit Decimal point = ". number_format($a,3) ."<br />";
echo "3-digit Decimal point = ". round_down($a,3) ."<br /><br />";
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;
}
?>
결과
original = 31.4657
1-digit Decimal point = 31.5
1-digit Decimal point = 31.4
2-digit Decimal point = 31.47
2-digit Decimal point = 31.46
3-digit Decimal point = 31.466
3-digit Decimal point = 31.465
관련자료
http://everlikemorning.tistory.com/entry/PHP-소수점-표시몇번쨰-이하-버림
댓글목록
등록된 댓글이 없습니다.