Development/Troubleshooting

금액표시할 때 쉼표(,)찍는 방법

bbubbush 2020. 5. 20. 23:53

개발을 하다보면 금액을 다룰 때가 참 많습니다.
저 역시 요즘 하는 업무에서 금액을 표시할 때가 많은데요, 간단하게 금액을 표시하는 방법을 데이터베이스(서버사이드)와 자바스크립트(클라이언트사이드)에서 표시하는 방법을 설명하겠습니다.

먼저 데이터베이스입니다.

 

/*오라클 기준으로 작성했습니다*/
SELECT TO_CHAR('월급', '999,999,999,999,999') AS '월급'
  FROM '금액'

 

이는 TO_CHAR 함수에 포멧을 지정하여 처리하는 방법입니다. 꼭 alias를 지정해서 데이터 매핑에 실수하지 않길 바랍니다.

다음으로는 자바스크립트입니다.

const pay = 5000000;        // 숫자로 표기된 금액

const strPay = pay.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");  // 정규식을 사용하여 3번째 될 때 마다 쉼표를 추가(문자로 변환)

console.log(strPay)     // 출력

 

자바스크립트에서 표기할 때는 다음과 같은 상황에 주의해야 합니다.

  • 금액이 null 혹은 undefined로 입력될 경우
  • 쉼표가 찍힌 데이터를 숫자연산으로 하려고 하는 경우(쉼표가 들어간 데이터는 문자열이 됩니다)

개인적으로 서버사이드에서 처리해서 보내주는 것이 좋으나 화면에서 숫자연산을 해야하는 경우에는
클라이언트사이드에서 처리하는 것이 좋다고 생각합니다.

 

요약: 조회성 화면에서는 서버사이드로, 처리성 화면에서는 클라이언트사이드로 처리하면 손을 좀 더 줄일 수 있다!
feat.과일가게 개발자님