문자/문자열을 정수로 변환하는 법
2023.02.27
문자 또는 문자열을 정수형으로 변환하는 방법
프로그래머스 369 게임을 풀면서 Character에서 Int으로 변환하면서 방법을 찾아 보았다.
시도한 방법
var chr: Character = "4"
var num: Int
// 잘못된 방법 (error: No exact matches in call to initializer)
num = Int(chr)!
// 가능한 방법
num = Int(Character(chr))!
Character 타입에서 Int 타입으로 바로 캐스팅이 안되고 Character -> String -> Int 타입으로 캐스팅이 가능한 것 을 알게 되었다.
이 방법을 찾기 전에 문자에서 정수형으로 변환하는 방법을 찾은 것이 wholeNumberValue 이다. (변환하면 Optional이기 때문에 Optional unwrapping(!)을 해줘야 한다.)
wholeNumberValue
공식 문서의 wholeNumberValue의 정의는 문자가 의미하는 숫자 값(wholeNumberValue)을 반환해 준다.
Declaration(선언)에서 wholeNumberValue는 optional 형태의 Int로 되어 있고, 공식문서의 예시로 "4", "④", "万", "a"와 같은 문자들은 wholeNumberValue를 이용하면 Optional(4)로 넘겨주는 것을 확인 할 수 있다.