php 나누기에서 소숫점 표시 채택완료

php 에서 나누기 할때, 값에 소수점이 있으면 두자리 까지 표시하고, 

없으면 .00 을 표시 하지 않고 정수값만 표시하는

함수를 누가 만들어 놓은게 있을까요? 

제가 만드니까 지저분 하게 나오네요.

답변 4개

채택된 답변
+20 포인트
Copy
function cal_division($val1, $val2) {

    $rest = $val1 % $val2;   

    $result = $val1 / $val2;

    if($rest != 0) {

        $result = number_format($result,2);

    }

    return $result;

}
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

챗 GPT 보다 더 낫군요

댓글을 작성하려면 로그인이 필요합니다.

Copy
$result = rtrim(rtrim(sprintf("%.2f", $number), '0'), '.');
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

와. 이렇게 짧게도 가능하군요.

댓글을 작성하려면 로그인이 필요합니다.

Copy
<?php
function numberFormat($v1, $v2) {
    $result = $v1 / $v2;
    $is_decimal = is_float($result) === true ? 2 : 0;
    return number_format($result, $is_decimal);
}

echo numberFormat(10, 2);
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

오우. 훨씬 낫네요

댓글을 작성하려면 로그인이 필요합니다.

Copy
<?php
function formatDivision($dividend, $divisor) {
    // 0으로 나누는 경우 예외 처리
    if ($divisor == 0) {
        return "0으로 나눌 수 없습니다.";
    }

    // 나눗셈 결과 계산
    $result = $dividend / $divisor;

    // 결과가 정수인지 확인
    if (is_int($result) || $result == floor($result)) {
        // 정수면 정수로 출력
        return (int)$result;
    } else {
        // 소수면 소수점 둘째자리까지 출력
        return number_format($result, 2, '.', '');
    }
}

// 사용 예시
echo formatDivision(10, 2) . "\n";   // 출력: 5
echo formatDivision(7, 2) . "\n";    // 출력: 3.50
echo formatDivision(15, 3) . "\n";   // 출력: 5
echo formatDivision(10, 3) . "\n";   // 출력: 3.33
?>

"php 에서 나눗셈을 할 때, 정수면 정수로 출력, 소수면 소수 둘째자리까지 출력"

프롬프트를 사용한 답변입니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고