首页 > 代码库 > Swift - 将String类型的数字转换成数字类型(支持十进制、十六进制)
Swift - 将String类型的数字转换成数字类型(支持十进制、十六进制)
1,十进制的字符串转成数字
Swift中,如果要把字符串转换成数字类型(比如整型,浮点型等)。可以先转成NSString类型,让后再转。
1
2
3
4
|
//将文本框中的值转换成数字 var i = (tf1.text as NSString ).intValue var f = (tf1.text as NSString ).floatValue var d = (tf1.text as NSString ).doubleValue |
2,十六进制的字符串转成数字
(1)定义一个转换方法
1
2
3
4
5
6
7
8
9
10
11
|
func hexStringToInt(from: String ) -> Int { let str = from.uppercased() var sum = 0 for i in str.utf8 { sum = sum * 16 + Int (i) - 48 // 0-9 从48开始 if i >= 65 { // A-Z 从65开始,但有初始值10,所以应该是减去55 sum -= 7 } } return sum } |
1
2
3
|
let str = "FF0000" let value = http://www.mamicode.com/hexStringToInt(from:str) print (value) |
(2)也可以通过扩展String实现
1
2
3
4
5
6
7
8
9
10
11
12
13
|
extension String { func hexStringToInt() -> Int { let str = self .uppercased() var sum = 0 for i in str.utf8 { sum = sum * 16 + Int (i) - 48 // 0-9 从48开始 if i >= 65 { // A-Z 从65开始,但有初始值10,所以应该是减去55 sum -= 7 } } return sum } } |
1
2
3
|
let str = "FF0000" let value = http://www.mamicode.com/str.hexStringToInt() print (value) |
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_698.html
Swift - 将String类型的数字转换成数字类型(支持十进制、十六进制)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。