php 나누기에서 소숫점 표시
본문
php 에서 나누기 할때, 값에 소수점이 있으면 두자리 까지 표시하고,
없으면 .00 을 표시 하지 않고 정수값만 표시하는
함수를 누가 만들어 놓은게 있을까요?
제가 만드니까 지저분 하게 나오네요.
답변 4
function cal_division($val1, $val2) {
$rest = $val1 % $val2;
$result = $val1 / $val2;
if($rest != 0) {
$result = number_format($result,2);
}
return $result;
}
$result = rtrim(rtrim(sprintf("%.2f", $number), '0'), '.');
<?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 에서 나눗셈을 할 때, 정수면 정수로 출력, 소수면 소수 둘째자리까지 출력"
프롬프트를 사용한 답변입니다
!-->
<?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);
답변을 작성하시기 전에 로그인 해주세요.