1、十進制的字符串轉(zhuǎn)成數(shù)字
Swift中,如果要把字符串轉(zhuǎn)換成數(shù)字類型(比如整型,浮點型等)??梢韵绒D(zhuǎn)成NSString類型,讓后再轉(zhuǎn)。
func testOne()
{
let string = "100"
//將文本框中的值轉(zhuǎn)換成數(shù)字
var i = (string as NSString).intValue
var f = (string as NSString).floatValue
var d = (string as NSString).doubleValue
}
2、十六進制的字符串轉(zhuǎn)成數(shù)字
(1)定義一個轉(zhuǎn)換方法
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,所以應(yīng)該是減去55
sum -= 7
}
}
return sum
}
let string = "ffx00x"
let value = hexStringToInt(from:string)
print(value) // 16846881
(2)也可以通過擴展String實現(xiàn)
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,所以應(yīng)該是減去55
sum -= 7
}
}
return sum
}
}
let string = "ffx00x"
let value = string.hexStringToInt()
print(value) // 16846881
原文出自:www.hangge.com