Swift的String类型转换如何实现?
来源:互联网 发布:php正则验证身份证 编辑:程序博客网 时间:2024/05/18 18:43
随着swift2.0的问世,越来越多的开发者使用这门语言进行iOS应用开发,在开发中我们常常需要用到各种字符串、类、接口等等,今天小编和大家分享的就是swift2.0中String的类型转换方法,一起来看看吧。
其实,swift语言属于强类型语言,但简单的String类型转换其实还是比较方便的,最暴力的就是强制类型转换,百试百灵:
functoString<T>(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
String().stringByAppendingFormat("%x",31)
String().stringByAppendingFormat("%o",31)
同样的,有了sprintf(),怎么能没有sscanf()??
//十六进制String转整数
varres: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 tochar
*/
func ASCII ( n :Int) -> String? {
guard (n >= 0 && n < 255 )else {
return nil
}
returnString(format:"%c", n)
}
/**
ASCII char toint 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类型转换相关操作方法,强烈建议大家在自己的环境中去尝试实现上面的这些方法,看看效果如何。自有自己动手实践了,才能更好的转变成自己的东西。
相关文章:《Swift 2.0构造函数是如何实现继承的?》
- Swift的String类型转换如何实现?
- Swift 如何将数字型字符串转换成String类型 (toInt()方法) 及返回值未解包的原因
- swift : NSData数据类型与String字符串类型的转换方法
- Swift 2.0 String 与 Int 类型的转换
- swift学习笔记之string 类型转换
- string的类型转换
- String类型的转换
- String类型的转换
- Swift anyobject 如何把value强转成String类型,或者判断value的类型?
- 字符串数组类型的object,如何转换为string[],
- swift备忘-1:String和数值类型转换
- swift中关于String类型的successor()
- int、String的类型转换
- int、String的类型转换
- 如何将string转换为Date类型
- 如何把string转换char*类型
- 如何将String转换成Date类型
- string类型与int类型的转换
- SignalR2 永久连接简单实例1
- MarkdownPad初使用
- 常用DOS命令(三)--RD命令
- 单例模式
- Android开发之第三方跳转
- Swift的String类型转换如何实现?
- 推荐C++ Primer 第五版
- HITOJ Prime Land 1069 (求质因子) 好题
- 一步一步学写makefile
- R中的SQL包--sqldf
- Android_(自定义view_3)
- Confluence5.8.10安装、破解、设置
- vs2005 + DriverStudio3.2 修改方法
- vs2003一查找就卡死了