쇼핑몰 달러 소수점 표기에 대한 질문입니다.
본문
여기저기 검색하고 찾아보니 저희 쇼핑몰 서버에 아래 php 파일을 수정하면 웬지 될것 같다는 생각이 드는데요. (맞는진 모르겠지만;;)
home/gomapsco/public_html/lib/shop.lib.php
아래에서 number_format($price, 0); 이부분을 뭔가 다르게 수정하면 될것 같은데요.
검색해봐도 잘 모르겠네요. 아시는 분 계시면 답변 부탁드립니다.
-----------------------------
global $member;
if ($tel_inq)
$price = '전화문의';
else
if ($member['mb_id']) {
$price = '$'.number_format($price, 0);
} else {
$price = '회원공개';
}
return $price;
}
--------------------------
답변 4
찾아 보니 현재 사용하고 있는 라이브러리가 number_foramt https://www.php.net/manual/en/function.number-format.php 이네요..
이 부분을 money_format으로 바꾸면 될것 같습니다. https://www.php.net/manual/en/function.money-format.php
그런데 새로운 PHP버전에서는 새로운 Numberformatter::formatCurrency 를 사용해서..
https://www.php.net/manual/en/numberformatter.formatcurrency.php
변경해보세요
가격이 저장되는 필드를 보니, INT 타입입니다.
애초에 소수점 입력 자체가 되지 않으니, 가격이 저장되는 필드 타입부터 바꿔줘야겠네요.
거기에 정수화 처리를 하는 PHP, 자바스크립트 등의 코드도 수정해줘야 할 것 같고요.
* 영카트 사용자가 아니라 이하 생략합니다.
가격부분을 수정하려면 표기도 저장방법도 바꿔야할 부분들이 많이 있습니다.
PHP에서 표기하는 부분을
소수둘째 자리까지 표기하는 방법으로 변경
문제는 저장된값이 int 형태라서 float 또는 decimal 로 변경해야 합니다.
금액을 표기하는 부분이니 float 보다는 decimal 이 더 적합합니다.
원하시는 영역이 딱 display_price 영역에 해당되는것만 이라면 다행이지만
그렇지 않고 다른 영역들도 포함한다면 더 많은 영역을 찾아서 변경하셔야 할겁니다.
직접 가능하시다면 백업후 일일이 변경/확인하시면서 처리하시면 됩니다.
금액이 저장되는 영역들도 일일이 다 찾아서 변경하셔야할텐데
참고로, g5_shop_item 만 하더라도 it_price 와 it_cust_price 가 있습니다.
그외에도 여러곳에 금액요소가 저장된다는점 잘 체크하셔서 진행하시기 바랍니다.