금액 단위만 한글로
금액 단위만 한글로
코드
formatKRW(amount) {
let postfix = ['원', '만원', '억원', '조원']
let i = 0
do {
sig_number = amount
if(i < 2 && sig_number >= 10 {
// 소수 첫째자리까지 표시
sig_number = Math.floor(sig_number)
}
amount = Math.floor(amount / 10000 * 10) / 10
i++
} while(Math.floor(amount) > 0)
return sig_number + postfix[i-1]
}
// output
console.log(formatKRW(677)) // 677원
console.log(formatKRW(703)) // 703원
console.log(formatKRW(67703)) // 6.7만원
console.log(formatKRW(667703)) // 66만원
console.log(formatKRW(2667703)) // 266만원
console.log(formatKRW(32667703)) // 3266만원
console.log(formatKRW(432667703)) // 4.3억
console.log(formatKRW(2432667703)) // 24.3억
console.log(formatKRW(24326677031)) // 243.2억
console.log(formatKRW(243266770312)) // 2432.4억
console.log(formatKRW(2432667703123)) // 2.4조
주의할 점
천 단위에서 콤마를 찍어줄 때, decimal(소수점)을 유의해주어야 한다. 소수점 첫째자리까지 표시해주면 된다.
나는 이 부분에서 decimal을 신경쓰지 않아서 기껏 만들어놓은 소수점 첫째자리가 날아갔었다!
댓글
댓글 쓰기