나눗샘 질문입니다.
본문
//할인율
if($row['it_soldout'] == '1' && $row['it_tel_inq'] !== '1') {
echo "<span class=\"item_percent\">".$discount_percent."</span>";
} else if($row['it_tel_inq'] == '1') {
$discount_percent = "문의";
} else {
$cost_value = $row['it_cust_price']; //원가
$discount_value = get_price($row); //할인가 = 판매가격
$discount_percent = (($cost_value - $discount_value) / $cost_value) * 100;
$discount_percent = round($discount_percent, 0)."%";
}
echo "<span class=\"item_percent\">".$discount_percent."</span>";
//할인율
위와같이 할인율을 구하는데 시중가격이 0원(입력하지 않을 시)
오류가 납니다.
Warning: Division by zero
.....
예외처리좀 부탁합니다.
입력하지 않거나 0입력하면 0%로 나타나면됩니다.
(아니면 시중가를 입력하지 않으면 안나타나게..)
초보라서요..
또 시간되시면
판매가가 시중가보다 비싸면 -34.3434%이런식으로 가는데 그냥
마이너스 값이때는 그냥 "0" 표시로 했으면 합니다.
고수님들의 조언 부탁합니다
!-->
답변 1
아래와 같이 하면 되지 않을까요?
$cost_value = $row['it_cust_price']; //원가
$discount_value = get_price($row); //할인가 = 판매가격
$discount_percent = (($cost_value - $discount_value) / $cost_value) * 100;
$discount_percent = round($discount_percent, 0)."%";
--->
$cost_value = $row['it_cust_price']; //원가
//판매가가 0보다 작으면 할인율은 0
if($cost_value <= 0) {
$discount_percent = 0;
} else {
//판매가 할인율 계산
$discount_value = get_price($row); //할인가 = 판매가격
$discount_percent = (($cost_value - $discount_value) / $cost_value) * 100;
}
//판매가가 할인가보다 높으면 0 으로 처리
if($cost_value > $discount_value) $discount_percent = 0;
$discount_percent = round($discount_percent, 0)."%";