본문으로 바로가기

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)}` : ''}원`
}
반응형