NumberFormatter 를 이용해 천 단위마다 comma(" , ") 넣기
1. 입력 값이 정수인 경우
var intValue = 123456
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
let result = numberFormatter.string(from: NSNumber(value: intValue))!
print(result) //"123,456"
2. 입력 값이 문자열인 경우
var strValue = "1111123456"
extension String {
public var insertComma: String {
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
if let _ = self.range(of: ".") {
let numberArray = self.components(separatedBy: ".")
if numberArray.count == 1 {
var numberString = numberArray[0]
if numberString.isEmpty {
numberString = "0"
}
guard let doubleValue = Double(numberString) else { return self }
return numberFormatter.string(from: NSNumber(value: doubleValue)) ?? self
} else if numberArray.count == 2 {
var numberString = numberArray[0]
if numberString.isEmpty {
numberString = "0"
}
guard let doubleValue = Double(numberString) else { return self }
return numberFormatter.string(from: NSNumber(value: doubleValue)) ?? numberString + ".\(numberArray[1])"
}
} else {
guard let doubleValue = Double(self) else { return self }
return numberFormatter.string(from: NSNumber(value: doubleValue)) ?? self
}
return self
}
}
//결과
print(strValue.insertComma) //"1,111,123,456"
'개발 > iOS' 카테고리의 다른 글
| [iOS] ATS(App Transport Security) 설정 (0) | 2023.01.26 |
|---|---|
| [iOS] 웹뷰를 활용해 HTML 콘텐츠 화면에 출력하기 (0) | 2023.01.26 |
| [iOS] google map marker custom (구글맵 마커 커스텀하기) (0) | 2023.01.20 |
| iOS 스토리보드(Storyboard) components 정리하기 (0) | 2023.01.19 |
| [iOS] 카카오 소셜 간편 로그인( kakao login) API 연동 (0) | 2023.01.19 |