봄날은 갔다. 이제 그 정신으로 공부하자

숫자에 콤마 추가하기 본문

iOS Tip

숫자에 콤마 추가하기

길재의 그 정신으로 공부하자 2022. 8. 23. 11:11

예전에 숫자에 콤마를 추가하는 글을 게시한 적이 있었는데 거기에 iOS 관련된 부분이 없어 이번 글을 통해 iOS에서 숫자에 콤마를 추가하는 방법에 대해 설명하도록 하겠습니다.

 

https://als2019.tistory.com/23

 

숫자에 콤마 추가 시 주의할 점

개발하다보면 숫자에 콤마를 추가하는 경우(통화 표시)가 자주 발생합니다. 이러한 경우 대부분 아래와 같이 DecimalFormat를 사용해 통화 표시를 추가해 줍니다. val formatter = DecimalFormat("#,###") val cS.

als2019.tistory.com

 

노파심에서 다시 한번 설명하자면

우리나라를 포함한 미국과 영국은 소수 자리수 구분은 마침표(“.”)로 구분하고 3자리를 단위로 콤마(“,”)기호를 표시하지만

소수 자리수를 콤마(“,”)로 구분하거나 3자리 단위를 마침표(“.”) 또는 스페이스(“ “)로 구분하는 나라들도 많습니다.

 

4294967.00 숫자를 표시할 경우 각 나라별로 아래와 같이 상이하게 표시됩니다.

  - 대한민국: 4,294,967.00 

  - 미국: 4,294,967.00 

  - 프랑스: 4 294 967 295,00 

  - 이탈리아: 4.294.967,00

 

그러므로 우리나라에 익숙하게 3자리 단위로 콤마를 표시하려면 아래와 같은 처리가 필요합니다.

 

우선 아래와 같은 Int에 콤마를 추가해주는 extension value를 선언&정의 합니다.

extension Int {
    var prettyNumber: String {
        let formatter = NumberFormatter()
        formatter.groupingSeparator = ","
        formatter.numberStyle = .decimal
        formatter.locale = .init(identifier: "ko")
        return formatter.string(from: NSNumber(value: self)) ?? ""
    }
}

 

여기서 중요한 부분이 아래 코드 입니다.

이 코드가 추가되어야 우리나라 기준에 맞게 처리됩니다.

 

formatter.locale = .init(identifier: "ko")

 

사용 방법은 아래와 같습니다.

let money = 12345.prettyNumber

그럼 "12,345" 문자열이 반환됩니다.

Comments