简体   繁体   中英

Convert string (float value) to int in Swift

Hello I have string "(with float value)"

let floatstring : String = "23.24" 
print(floatstring)

I want to convert float String to Int . Thank you !

Option 1

let intNum = Int(Float(floatstring)!)

Option 2

if floatstring.rangeOfString(".") != nil {
    let i = Int(floatstring.componentsSeparatedByString(".").first!)
    print(i)
}

It should work like this:

http://swiftlang.ng.bluemix.net/#/repl/57bd6566b36620d114f80313

let floatstring : String = "23.24" 
print(Int(Float(floatstring)!))

You can cast the String to a Float and then to an Int.

if let floatValue = Float(floatString) {
    if let intValue = Int(floatValue) {
        print(intValue) //that is your Int
    }
}

If it does not print anything then the string is not a 'floatString'. Btw you can simply find the answer by combining the answers to these Questions.

Stackoverflow: String to Int

Stackoverflow: Casting Float to Int

1.For Swift 2.0

let intValue=int(float(floatString))

2.For Older version of Swift

let floatValue = (floatString.text as NSString).floatValue
let intValue:Int? = Int(floatValue) 

3.For objective-C

floatValue = [floatString floatValue];
int intValue:Int = (int) floatValue;

Try This

let floatValue = "23.24".floatValue  // first convert string to float
let intValue:Int? = Int(floatValue)  // then convert float to int 
print(intValue!)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM