IOS/Daily
[Swift] String to int
KHero
2023. 10. 22. 16:22
Int에서 String으로 변환하는 것은 간단하지만.("\(Number)")
String에서 Int값으로 변환하는 것은 Swfit에서는 비교적 까다롭다.
var intX: Int = 0
var stringX: String = "1"
// 1. intX = stringX (자료형이 맞지않음)
// 2. intX = Int(stringX) (Value of optional type 'Int?' must be unwrapped to a value of type 'Int')
1번은 당연히 안되고,
2번은 Int? 라는 옵셔널 타입을 언급한다. String에는 정수(Int)가아닌 ABC같은 문자가 들어갈 수도 있기 때문.
var intX: Int? = 0
var stringX: String = "1"
intX = Int(stringX) // intX : Optional(1)
intX의 타입을 int?로 변경하면 값자체가 Optional로 묶이게 된다.
var intX: Int = 0
var stringX: String = "1"
let intX = (stringX as NSString).integerValue
이런 방식으로 하는것이 개인적으로는 가장깔끔하며
var intX: Int = 0
var stringX: String = "1"
if let myNumber = NumberFormatter().number(from: stringX) {
intX = myNumber.intValue
} else {
print("Error")
}
이런방법으로 조건처리도 할 수 있다.