Converting String to Int with Swift

前端 未结 30 1749
小鲜肉
小鲜肉 2020-11-22 06:59

The application basically calculates acceleration by inputting Initial and final velocity and time and then use a formula to calculate acceleration. However, since the value

30条回答
  •  广开言路
    2020-11-22 07:15

    Swift 5.0 and Above

    Working

    In case if you are splitting the String it creates two substrings and not two Strings . This below method will check for Any and convert it t0 NSNumber its easy to convert a NSNumber to Int, Float what ever data type you need.

    Actual Code

    //Convert Any To Number Object Removing Optional Key Word.
    public func getNumber(number: Any) -> NSNumber{
     guard let statusNumber:NSNumber = number as? NSNumber  else {
        guard let statString:String = number as? String else {
            guard let statSubStr : Substring = number as? Substring else {
                return 0
            }
            if let myInteger = Int(statSubStr) {
                return NSNumber(value:myInteger)
            }
            else{
                return 0
            }
        }
    
        if let myInteger = Int(statString) {
            return NSNumber(value:myInteger)
        }
        else if let myFloat = Float(statString) {
            return NSNumber(value:myFloat)
        }else {
            return 0
        }
    }
    return statusNumber }
    

    Usage

    if let hourVal = getNumber(number: hourStr) as? Int {
    
    }
    

    Passing String to check and convert to Double

    Double(getNumber(number:  dict["OUT"] ?? 0)
    

提交回复
热议问题