[swift] 신속하게 문자열에서 정수 값 가져 오기

그래서 나는 이것을 할 수 있습니다 :

var stringNumb: NSString = "1357"

var someNumb: CInt = stringNumb.intValue

그러나 나는 그것을 할 수있는 방법을 찾을 수 없습니다 String. 나는 다음과 같은 것을하고 싶다 :

var stringNumb: String = "1357"

var someNumb: Int = Int(stringNumb)

이것은 작동하지 않습니다 :

var someNumbAlt: Int = myString.integerValue



답변

Swift 2.0에서는 생성자를 사용하여 Integer를 초기화 할 수 있습니다

var stringNumber = "1234"
var numberFromString = Int(stringNumber)


답변

나는 사용할 것이다 :

var stringNumber = "1234"
var numberFromString = stringNumber.toInt()
println(numberFromString)

참고 toInt():

문자열이 Int에 맞는 정수를 나타내는 경우 해당 정수를 리턴합니다.


답변

스위프트 3.0

유형 1 : NSString을 문자열로 변환

    let stringNumb:NSString = "1357"
    let someNumb = Int(stringNumb as String) // 1357 as integer

유형 2 : 문자열에 정수만있는 경우

    let stringNumb = "1357"
    let someNumb = Int(stringNumb) // 1357 as integer

유형 3 : 문자열에 부동 값이있는 경우

    let stringNumb = "13.57"
    if let stringToFloat = Float(stringNumb){
        let someNumb = Int(stringToFloat)// 13 as Integer
    }else{
       //do something if the stringNumb not have digit only. (i.e.,) let stringNumb = "13er4"
    }


답변

원하는 방법은 toInt()toInt()선택적 Int를 반환 하므로 약간 조심해야 합니다.

let stringNumber = "1234"
let numberFromString = stringNumber.toInt()
// numberFromString is of type Int? with value 1234

let notANumber = "Uh oh"
let wontBeANumber = notANumber.toInt()
// wontBeANumber is of type Int? with value nil


답변

당신이 사용할 수있는 NSString경우에만.

objective-c와 매우 비슷합니다. 모든 데이터 유형이 있지만 as NSString추가가 필요합니다

    var x = "400.0" as NSString

    x.floatValue //string to float
    x.doubleValue // to double
    x.boolValue // to bool
    x.integerValue // to integer
    x.intValue // to int

또한 toInt()기능이 추가되었습니다. Apple Inc.“Swift Programming Language”를 참조하십시오. iBooks. https://itun.es/us/jEUH0.l 49 페이지

x.toInt()


답변

위의 답변은 문자열 값이 “700.00”이므로 도움이되지 않았습니다.

스위프트 2.2 이 나를 위해 작동

let myString = "700.00"
let myInt = (myString as NSString).integerValue

NSFormatterClass에 myInt를 전달했습니다.

let formatter = NSNumberFormatter()
formatter.numberStyle = .CurrencyStyle
formatter.maximumFractionDigits = 0

let priceValue = formatter.stringFromNumber(myInt!)!

//Now priceValue is700

블로그 게시물 덕분에 .


답변

다음과 같이 String에서 NSString으로 브리지하고 CInt에서 Int로 변환 할 수 있습니다.

var myint: Int = Int(stringNumb.bridgeToObjectiveC().intValue)