[Swift] 문자열을 숫자로

이은수, Lee EunSoo·2024년 10월 9일
0

뾰족한스위프트

목록 보기
2/6
post-thumbnail

개요

문자열인데 숫자로 바꾸고 싶은 경우 사용하는 코드를 정리해봤다.

방법

1) Int & Double의 init( )

첫번째 방법은 제일 간단한 int와 double의 생성자를 사용하는 방법이다.

let sint: String = "10"
let sdouble: String = "10.0"

let inum = Int(sint) ?? 0
let dnum = Double(sdouble) ?? 0

print(inum)
print(dnum)

문자열을 Int 혹은 Double타입의 생성자를 사용하면 옵셔널타입의 정수 혹은 실수로 반환해준다. 옵셔널이기에 당연히 옵셔널 바인딩이 필요하다 (??의 사용법이 생소하다면 여기로)

2) NumberFormatter를 사용하는 방법

let formatter = NumberFormatter()
formatter.numberStyle = .decimal //10진수

let numberString = "1,234.56"
let num = formatter.number(from: numberString) ?? 0

print(num)

NumberFormatter 클래스를 사용하는 방법이다 클래스의 인스턴스를 생성하고 이것저것 해줘야 하긴 하지만 정수/실수를 가리지 않고 문자열에 ,같은 문자가 있어도 알아서 처리해준다.

얘도 마찬가지로 옵셔널타입의 데이터를 반환하기에 옵셔널 바인딩이 필요하다.

3) NSString을 사용하는 방법

Objective-C를 이용하는 방법이다.


let stringNumber = "123.45"
let doubleValue = (stringNumber as NSString).doubleValue
print(doubleValue)


let stringNumber2 = "12345"

let intValue = (stringNumber2 as NSString).intValue
print(intValue)

String을 NSString타입으로 업캐스팅해서 변환하는 방법이다

Swift로 개발이 주로 이루어 진다면 사용하기 좀 번거로운 방법이지만 Obj-C로 만들어진 앱을 유지보수 하는 등의 상황을 마주 할 수 있으므로 어떤의미인지 형태정도만 외워두자.

profile
iOS 개발자 취준생, 천 리 길도 한 걸음부터

0개의 댓글