자동 천 분리기 (스위프트) 추가내 계산기에 대한 코드가
어떻게 그래서 할 수있는 사용자가 자신이 자동으로 공백으로 구분 될 숫자를 입력 할 때?
내가 오랜 시간에 대한 답을 찾기 위해 노력했습니다,하지만 아무것도 그것이 무슨 일이 있었는지 그리고 바로
var currentInput: Double {
get {
return Double (displayResultLabel.text!)!
}
set {
let value = "\(newValue)"
let ValueArray = (value.components(separatedBy:"."))
if ValueArray[1] == "0" {
displayResultLabel.text = "\(ValueArray[0])"
} else {
displayResultLabel.text = "\(newValue)"
}
stillTyping = false
}
}
@IBAction func numberPressed(_ sender: UIButton) {
let number = sender.currentTitle!
if stillTyping {
if (displayResultLabel.text?.characters.count)! < 14 {
displayResultLabel.text = displayResultLabel.text! + number
}
} else {
displayResultLabel.text = number
stillTyping = true
}
}
를 표시 한 것을 적합하지 :
@IBAction func numberPressed(_ sender: UIButton) {
let number = sender.currentTitle!
if stillTyping {
if (displayResultLabel.text?.characters.count)! < 14 {
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
let newNumber = NSNumber(value: Double(displayResultLabel.text! + number)!)
displayResultLabel.text = formatter.string(from: newNumber)
}
} else {
displayResultLabel.text = number
stillTyping = true
}
}
var stillTyping = false
var dotIsPlaced = false
var firstOperand: Double = 0
var secondOperand: Double = 0
var operationSign: String = ""
오류가 나타납니다 - 인스턴스 멤버 'numberStyle'유형에 사용할 수 없습니다 'NumberFormatter는'그것에 대해 – B2Fq
죄송합니다. 비슷한 예제가 내 컴퓨터에서 컴파일됩니다. –
8888을 입력하면 (888로 변경됨) 오류가 발생했습니다. - "스레드 1 : 치명적인 오류 : 언 래핑 중에 예기치 않게 nil을 발견했습니다. 옵션 " – B2Fq