最近在用一个开源播放器做一个APP,我需要获取当前网速的具体数值,但是SDK返回给我的是Int64这个很难搞的类型,在做除法运算的时候,会自动舍弃小数点后的数字,所以导致结果很不精确,然后Swift好像又不能直接用类似于(Double)这样的强制类型转换(as Double 也不行),所以只能想了个奇葩的方法将Int64转换为Double
var avgSpeed:Int64 = 0
现在有这么一个Int64的变量avgSpeed,我们不能直接转换成Double,要先将他转换为字符串类型
let avgSpeedStr = "\(avgSpeed)"
现在再用NSString的构造方法,将这个数字字符串转换成你想要的类型,比如Double,Float,Int等
let avgSpeedValue = NSString(string: avgSpeedMbpsStr).doubleValue
可以看到我们已经拿到了数值并且成功转换为了Double类型,其他类型只需要改成对应的integerValue,floatValue即可