오늘은 스위프트에서 숫자를 표현할 때 사용할 수 있는 NumberFormatter
에 대해 알아보자.
A formatter that converts between numeric values and their textual representations.
공식문서에서는 숫자 값과 텍스트 표현을 변환하는 포매터(형식)이라고 정의하고 있다.
단위를 나타낼 때 세자리마다 ,
를 찍어준다거나 소숫점 자리수를 제한하거나 할 때 사용한다.
여러가지 스타일로 숫자를 표현할 수 있다.
세자리마다 콤마(,) 표시하기
1
2
3
4
5
6
7
8
9
10
|
import Foundation // NumberFormatter를 사용하기 위해 Foundation을 import 해준다.
let price = 12345600
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
let formatterResult = formatter.string(for: price) ?? ""
print(formatterResult) //12,345,600
|
소숫점 자리수 제한하기
1
2
3
4
5
6
7
8
|
let price = 12.345600
let formatter = NumberFormatter()
formatter.maximumFractionDigits = 2 // 소숫점 2자리까지 표시
let formatterResult = formatter.string(for: price) ?? ""
print(formatterResult) //12.35
|
원화로 표시하기
1
2
3
4
5
6
7
8
9
|
let price = 12345600
let formatter = NumberFormatter()
formatter.locale = Locale(identifier: "en_KR")
formatter.numberStyle = .currency
let formatterResult = formatter.string(for: price) ?? ""
print(formatterResult) //₩12,345,600
|
NumberFormatter 말고도 스위프트에서 제공하는 여러가지 Formatter들이 있음을 알게 되었다.
DateFormater, ListFormatter, MeasurementFormatter 등등
시간이 날 때 한번씩 들여다 봐야겠다.
Reference
Apple Developer Doc - NumberFormatter
Apple Developer Doc - NumberFormatter.Style