文档详情

Swift2.0 String类型转换方法详解.pdf

发布:2017-05-23约1.84千字共3页下载文档
文本预览下载声明
IT 在线教育平台———麦子学院: Swift2.0 String 类型转换方法详解 随着swift2.0 的问世,越来越多的开发者使用这门语言进行 iOS 应用开发,在开发中 我们常常需要用到各种字符串、类、接口等等,今天小编和大家分享的就是 swift2.0 中 String 的类型转换方法,一起来看看吧。 其实,swift 语言属于强类型语言,但简单的 String 类型转换其实还是比较方便的,最 暴力的就是强制类型转换,百试百灵: func toStringT(a: T) - String{ // Way one, format //return \(a) // Way two, new string return String(a) } toString(123) toString(0.007) toString([4, 8, 32, 5 ]) toString(test.startIndex) 同样依葫芦画瓢也能转回来: Int(123) Float(3.1) 但这个太简单、太有局限性了!建议还是用下面这个,利用了 New 的时候format 方 法,简直就是 sprintf()的替代品! // Way 1, 格式化转 String String(format:%i, 0x%x, 0o%o, %.2f, 31, 31, 31, 3.1) // Way 2 IT 在线教育平台———麦子学院: String().stringByAppendingFormat(%x,31) String().stringByAppendingFormat(%o,31) 同样的,有了sprintf() ,怎么能没有sscanf() ?? //十六进制 String 转整数 var res:UInt32 = 0 NSScanner.localizedScannerWithString(str).scanHexInt(res) 当然,这个用起来就要麻烦许多,类似的一堆API: NSScanner.localizedScannerWithString(str).scanInt(res) NSScanner.localizedScannerWithString(str).scanFloat(res) NSScanner.localizedScannerWithString(str).scanDouble(res) NSScanner.localizedScannerWithString(str).scanInteger(res) NSScanner.localizedScannerWithString(str).scanHexFloat(res) 最后,虽然 ASCII 码现在不大常用了,但相信也有开发者喜欢 ASCII 码的转换函数吧: /** ASCII value to char */ func ASCII ( n : Int) - String? { guard (n = 0 n 255 ) else { return nil } return String(format:%c, n) } IT 在线教育平台———麦子学院: /** ASCII char to int value */ func ASCII (c : String) - Int8?{ let str:NSString = c let n = str.UTF8String[0] guard n=0 else { return nil } return n } ASCII(70) ASCII(B) 以上就是 swift2.0 中string 类型转换相关操作方法,强烈建议大家在自己的环境中去 尝试实现上面的这些方法,看看效果如何。自有自己动手实践了,才能更好的转变成自己 的东西。 相关文章:《Swift2.0 中String 的正则匹配详解》
显示全部
相似文档