채택완료

판매가격 소수점 변경출력

2018-08-18 (토) 22:02:15 3,797

영카트에서 디비는 모두 float로 했습니다

그랬더니 

판매가를 보면 $55.00 으로 나옵니다 실제 입력은 55.4 로 했습니다

아마도

<?php echo display_price(get_price($it)); ?> 에서 number_format 을 적용해야 할 것 같은데

계속 적용이 안됩니다

number_format(가격,2) 하면 소수점 두자리가 나올 것 같은데 어디에 적용을 해야 하는지요?

|

답변 4개 / 댓글 2개

채택된 답변
+20 포인트

/lib/shop.lib.php 파일에서 해당 함수 2개를 수정하시면 될꺼에요.

display_price() , get_price()

ex)

Copy
// 금액 표시
function display_price($price, $tel_inq=false)
{
    if ($tel_inq)
        $price = '전화문의';
    else
        $price = '$'.number_format($price, 2);

    return $price;
}


// 금액표시
// $it : 상품 배열
function get_price($it)
{
    global $member;

    if ($it['it_tel_inq']) return '전화문의';

    $price = $it['it_price'];

    return floatval($price);
}

답변에 대한 댓글 2개

네 그 부분을 모두 수정을 했는데 실제로 55.4 를 입력하면
$ 55.00 으로 나옵니다
<?php
$it['it_price'] = 55.4;
echo display_price(get_price($it));
?>
==> $55.40

$it['it_price'] 값을 확인해 보세요.

함수를 $it['it_price'] 요넘으로 처리해서 해결했습니다

감사합니다

lib/shop.lib.php파일을 여시고

먼저, function get_price($it) 함수에서 return (int)$price; 이것에서 (int)를 제거하세요.

그리고 function display_price($price, $tel_inq=false) 함수에서

number_format($price, 0).'원'; 이넘을 number_format($price, 2).'원';

2018-08-18 (토) 22:20:22

/lib/shop.lib.php 에 함수가 있습니다.

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