1、十进制的字符串转成数字
Swift中,如果要把字符串转换成数字类型(比如整型,浮点型等)。可以先转成NSString类型,让后再转。
func testOne()
{
let string = "100"
//将文本框中的值转换成数字
var i = (string as NSString).intValue
var f = (string as NSString).floatValue
var d = (string as NSString).doubleValue
}
2、十六进制的字符串转成数字
(1)定义一个转换方法
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
}
let string = "ffx00x"
let value = hexStringToInt(from:string)
print(value) // 16846881
(2)也可以通过扩展String实现
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
}
}
let string = "ffx00x"
let value = string.hexStringToInt()
print(value) // 16846881
原文出自:www.hangge.com