IOS将Int64转换为Int,Double,Float等类型

最近在用一个开源播放器做一个APP,我需要获取当前网速的具体数值,但是SDK返回给我的是Int64这个很难搞的类型,在做除法运算的时候,会自动舍弃小数点后的数字,所以导致结果很不精确,然后Swift好像又不能直接用类似于(Double)这样的强制类型转换(as Double 也不行),所以只能想了个奇葩的方法将Int64转换为Double


var avgSpeed:Int64 = 0

现在有这么一个Int64的变量avgSpeed,我们不能直接转换成Double,要先将他转换为字符串类型

let avgSpeedStr = "\(avgSpeed)"

IOS将Int64转换为Int,Double,Float等类型_第1张图片

现在再用NSString的构造方法,将这个数字字符串转换成你想要的类型,比如Double,Float,Int等


let avgSpeedValue = NSString(string: avgSpeedMbpsStr).doubleValue



可以看到我们已经拿到了数值并且成功转换为了Double类型,其他类型只需要改成对应的integerValue,floatValue即可

你可能感兴趣的:(IOS开发)