"00" 혹은 "000" 입력시에 TextField의 값이 0으로 바뀜
179
작성한 질문수 1
스스로 해결해보라고 하셔서 해결한 내용과 검증을 받고 싶어 질문 남깁니다 ~
문제는 NumberFormat으로 표시한 comma 때문에 Int로 변환시에 nil 이 되는 문제였고,
아래와 같이 String.replacingOccurrences로 해결하였는데
혹시 더 좋은 방법이 있을지 질문 드립니다.
func deliverButtonValue(number: String) { var currentNumber: Int?
var newNumber = Int(number)!
// customTextField의 string에서 comma를 제거
if let curr = customTextField.text {
currentNumber = Int(curr.replacingOccurrences(of: ",", with: ""))
}
if let hasNumber = currentNumber {
if number == "00" {
newNumber = hasNumber * 100
} else if number == "000" {
newNumber = hasNumber * 1000
}
}
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
customTextField.text = formatter.string(from: NSNumber(value: newNumber))
}
답변 1
0
안녕하세요.
쉼표만 없애겠다고 하면 replacingOccurrences도 괜찮다고 생각합니다.
만약 숫자만 꺼내야겠다고 한다면 정규식을 이용하는 방법도 있습니다.
아래코드 참고하시면서 적절하게 사용하면 될 것 같습니다.
let textValue = "12,400"
let pattern = "[^0-9]"
let range = NSRange(location: 0, length: textValue.count)
let regex = try! NSRegularExpression(pattern:pattern, options:[])
let numberString = regex.stringByReplacingMatches(in: textValue, options: [], range: range, withTemplate: "")
let onlyNumber = Int(numberString)
안녕하세요. Autoshrink의 Minimum Font Size 관련 질문이 있습니다.
0
581
3
계산기 - 버튼들의 가로 간격과 세로 간격을 동일하게 하는 방법 질문드립니다.
0
601
2
cell 안에label을 넣었는데
0
323
1
Graph_2_Code_extension 에서 스레드 오류
0
308
1
키보드 Appear에 맞춰서 tableView의 마지막셀도 자연스레 올라가는 방법에 대하여
0
203
0
image view와 view사이의 빈틈이 생기는 이유에 대해서
0
272
0
iOS AUtoLayout 강의자료 문의입니다.
0
305
1
5분50초쯤에
0
253
1
text가 이미지 밖으로 삐져나와요
0
269
1
버튼 사이즈가 줄어들지 않아요.
0
413
2
equal spacing이 안먹는거 같은데..
0
294
1
오토레이아웃 code vs storyboard
0
297
1
실습에 사용되는 이미지는 제공이 안되나요?
0
231
1
플로팅 버튼 실습 중 질문
0
375
1
버튼 insets
0
216
1
질문있습니다
3
238
1
질문있습니다!
1
270
1
xcode 13 에서 vari for Traits 질문
1
240
1
Popup View Controller를 다른 story boardf로 만든 이유가 있을까요?
0
212
1
Calc_StackView_1에서 equal Widths 질문이요
3
320
1
개발자 아이디 관련 문의
0
310
2
이미지 소스를 찾을 수 없습니다
0
233
1
스크롤뷰 컬렉션뷰 질문드립니다.
0
530
3
tableView function에 대해서
0
161
1





