I am trying to convert the string:
let time = "7:30"
to integers:
let hour : Int = 7
let minutes : Int = 30
I am currently looping through the string:
for char in time.characters {
}
But I cannot figure out how to convert a char to an int. Any help would be greatly appreciated.
Answers by @alex_p and @mixel are correct, but it's also possible to do it with Swift split
function:
let time = "7:30"
let components = time.characters.split { $0 == ":" } .map { (x) -> Int in return Int(String(x))! }
let hours = components[0]
let minutes = components[1]
Use String.componentsSeparatedByString
to split time
string to parts:
import Foundation
let time = "7:30"
let timeParts = time.componentsSeparatedByString(":")
if timeParts.count == 2 {
if let hour = Int(timeParts[0]),
let minute = Int(timeParts[1]) {
// use hour and minute
}
}
If you do not want to import Foundation
you can split time string to parts with:
let timeParts = time.characters.split(":").map(String.init)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With