// 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 }原文链接:https://www.f2er.com/swift/323665.html