[Javascript] πŸ’΅μˆ«μž μ²œλ‹¨μœ„λ§ˆλ‹€ 콀마찍기(ν™”νλ‹¨μœ„)

μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μ²œλ‹¨μœ„λ§ˆλ‹€ 콀마λ₯Ό μ°λŠ” μ„Έκ°€μ§€ 방법!

1. μ •κ·œμ‹μœΌλ‘œ μ‚¬μš©ν•˜κΈ°

const currency = num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')

2. .toLocaleString() μ‚¬μš©ν•˜κΈ°

Number.prototype.toLocaleString()

Number이외에도 κ°μ±„λ‚˜ λ‚ μ§œ, 배열에도 μ μš©κ°€λŠ₯ν•˜λ‹€.

toLocaleString()μ΄λž€ νŠΉμ • μžλ£Œκ°€ 듀어왔을 λ•Œ 섀정해놓은 μ§€μ—­μ—μ„œ μ½λŠ” ν˜•νƒœλ‘œ λ°”κΏ”μ£ΌλŠ” ν•¨μˆ˜μ΄λ‹€. λ‚΄κ°€ currency type을 일본으둜 μ„€μ •ν•˜λ©΄ ν‘œκΈ°κ°€ μ—”ν™”λ‘œ μžλ™μ μœΌλ‘œ λ°”λ€ŒλŠ” 식이닀.

toLoacleString

3. Intl.NumberFormat

var number = 123456.789

console.log(new Intl.NumberFormat().format(number))
// β†’ ν•œκ΅­ λ‘œμΌ€μΌμ˜ 경우 '123,456.789' ν‘œμ‹œ

// 톡화 μ„œμ‹
console.log(
  new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(
    number
  )
)
// β†’ 123.456,79 €

// ν•œκ΅­ μ›ν™”λŠ” 보쑰 톡화 λ‹¨μœ„λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŒ
console.log(
  new Intl.NumberFormat('ko-KR', { style: 'currency', currency: 'KRW' }).format(
    number
  )
)
// β†’ β‚©123,457

// 유효숫자λ₯Ό μ„Έ 개둜 μ œν•œ
console.log(
  new Intl.NumberFormat('en-IN', { maximumSignificantDigits: 3 }).format(number)
)
// β†’ 1,23,000

μœ„μ²˜λŸΌ μ˜΅μ…˜μ„ κ±Έμ–΄μ„œ 톡화 μ„œμ‹μ„ λ°”κΏ€ μˆ˜λ„ 있고, 유효숫자의 μˆ˜λ„ μ‘°μ ˆν•  수 μžˆλ‹€.


Written by@UndefinedP
기둝을 잘 ν•˜λŠ” κ°œλ°œμžκ°€ 되고 μ‹Άμ–΄μš”

GitHub