티스토리 뷰

Swift

정수값에 구분자를 넣어보자!!

진태우 2018. 8. 21. 16:55

정수값을 특정 문자로 구분하여 그룹을 만드려면 NumberFormatter를 사용해야 한다.

일반적으로 많이 사용되는 정수값에 원화의 구분자 넣어주는 작업을 예로 들어 코드를 작성해 보았다.

extension Formatter {
  static let withSeparator: NumberFormatter = {
    let formatter = NumberFormatter()
    formatter.groupingSeparator = ","
    formatter.numberStyle = .decimal
    return formatter
  }()
}


생성한 NumberFormatter에 groupingSeparator를 설정하여 grouping하는 구분기호를 설정해주고, 

numberStyle에는 십진수를 뜻하는 .decimal 값을 설정해주었다.

또한 extension을 통해 전역에서 쉽게 사용할 수 있도록 하였다.


그 후에 withSeparator 변수를 사용하여 정수를 separator로 grouping된 문자열로 변형해주는 formattedWithSeparator 변수를 만들어 준다.

이것도 전역에서 쉽게 사용 가능하도록 extension을 해주었다.

extension Integer {
  var formattedWithSeparator: String {
    return Formatter.withSeparator.string(for: self) ?? ""
  }
}


작성된 NumberFormatter의 사용법은 아래와 같다.

let money = 1000000
let separatedMoney = money.formattedWithSeparator    // 1,000,000


groupingSeparator, numberStyle에는 다른 값을 설정하여 원하는 방식으로 구현하면 된다.

숫자의 Formatter뿐만 아니라 소수점, 반올림 등 여러가지 숫자의 형태를 핸들링 할 수 있으니 아래 공식 홈피에서 찾아보면 될 것 같다.



Apple 공식 문서 - NumberFormatter

Apple 공식 문서 - NumberFormatter.Style



'Swift' 카테고리의 다른 글

[swift] Optional  (0) 2019.03.29
[swift] Enum  (0) 2019.03.29
내장된 notificationName 사용하여 notification 등록해보기  (0) 2018.08.21
urlencoded 방식으로 POST 요청 보내기  (1) 2018.08.20
collectionView paging 해보기!  (5) 2018.07.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함