Swift二进制,十进制,十六进制转换
发布时间:2020-12-14 06:57:14 所属栏目:百科 来源:网络整理
导读:// MARK: // MARK: 字符串转二进制 获取二进制的第几位数(字符串) /// 字符串转二进制 获取二进制的第几位数(字符串) func xnStringAndBinaryDigit(string: String,number: Int) - String? { // 字符串转 int let valueForInt = (string as NSString).intVal
// MARK: // MARK: 字符串转二进制 获取二进制的第几位数(字符串) /// 字符串转二进制 获取二进制的第几位数(字符串) func xnStringAndBinaryDigit(string: String,number: Int) -> String? { // 字符串转 int let valueForInt = (string as NSString).intValue; // 后面的参数为转换的进制数 2 let result = String(valueForInt,radix:2); // 获取字符串内容长度 var length = result.characters.count; // 第七位数是 var seventiethNumber: String?; /// 遍历字符串中每个字符 我们需要的是右边数起 第七位数 for i in result.characters { if length < number { break; } if length == number { seventiethNumber = String(i); break; } length -= 1; } return seventiethNumber; } /* 十进制Int 转 二进制String 后面的参数为转换的进制数 2 10 16 */ let string = String(3,radix:2); // String 转 NSString let stringNS = NSString.init(string: string); // NSString 转 Int(十进制) let numberInt = stringNS.integerValue; // 十进制Int 转十六进制String let stringSixteen = String(30,radix:16) // 十六进制String 转 十进制Int let intNumber = stringSixteenChangeToInt(stringSixteen); print("(numberInt),(intNumber)"); // MARK: // MARK: 十六进制String 转 十进制Int /// 十六进制String 转 十进制Int func stringSixteenChangeToInt(stringSixteen:String) -> Int { let str = stringSixteen.uppercaseString var numbrInt = 0 for i in str.utf8 { numbrInt = numbrInt * 16 + Int(i) - 48 // 0-9 从48开始 if i >= 65 { // A-Z 从65开始,但有初始值10,所以应该是减去55 numbrInt -= 7 } } return numbrInt } 学自:http://www.jianshu.com/p/34d5e958910a (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |