1000 -> 1K Formater
작업을 하다보니 1,000을 1K로 표시해야하는 코드가 필요하여 사용하였다가
까먹기 전에 메모를 작성합니다..
function numberFormater(num) {
if (!isNaN(num)) {
if (num >= 1e3 && num < 1e6) {
num = `${(Math.round(num / 1e3 * 10) / 10)}K`
} else if (num >= 1e6 && num < 1e9) {
num = `${(Math.round(num / 1e6 * 10) / 10)}M`
} else if (num >= 1e9) {
num = `${(Math.round(num / 1e9 * 10) / 10)}B`
} else {
num = new Intl.NumberFormat('ko-KR').format(num)
}
}
return num
}
만원 단위만
금액에 대한 formater가 필요하여 작성하였고
만원 단위만 구분하여 사용하면 되어서 아래와 같이 작성 후 메모해둡니다..
function priceFormater(amount) {
amount = parseInt(amount)
// 0이면 '무료' 리턴
if (!amount) {
return '무료'
}
// 1의 자리 반올림
const roundedAmount = Math.round(amount / 10) * 10
// 만 단위와 원 단위 분리
const man = Math.floor(roundedAmount / 10000)
const won = roundedAmount % 10000
return `${man > 0 ? `${man}만` : ''}${won ? ` ${new Intl.NumberFormat('ko-KR').format(won)}` : ''}원`
}
반응형
'JavaScript > javascript' 카테고리의 다른 글
한글 조사(을/를, 이/가 등) 구분 코드 (1) | 2023.12.19 |
---|---|
Keyup, Keydown 이벤트가 2번씩 호출 될 때 해결법 (0) | 2023.10.31 |
기준일의 요일로 시작일과 종료일 구하기 (0) | 2023.04.04 |
moment.js 대신 date formater 만들어서 사용하기! (0) | 2023.03.06 |
심심해서 만들어본 랜덤번호 추첨기 (0) | 2022.11.11 |