如何在Swift中将Int转换为UInt8?例.我想将22号转换为0b00010110
var decimal = 22
var binary:UInt8 = ??? //What should I write here?
Run Code Online (Sandbox Code Playgroud) 对于任何(至少整数)数字,是否有任何本机Swift方法可以在字符串中获取其十六进制表示形式?和逆.它不能使用Foundation.例如,String类有一个函数
func toInt() -> Int?
Run Code Online (Sandbox Code Playgroud)
它将表示整数的字符串转换为其Int值.我正在寻找类似的东西,使用十六进制字符串.我知道这很容易实现,但如果Swift有它,那就已经好了.否则,如果您已经使用String和Int的扩展来实现以下目的:
let anHex = "0xA0"
if let anInt = anHex.toInt() {
println(anInt) // prints 128
println(anInt.toHexString()) // prints "0xA0"
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是火箭科学,但万一请分享.
PS:这与这个问题类似,不同之处在于它与Foundation框架非常相关,而我没有在我的代码中使用它(我也没有导入任何其他内容)而且现在我想保留它这样,也是为了学习目的.
我有字符串变量:var str ="239A23F"如何将此字符串转换为二进制数?
str.toInt()
不起作用.
如何在 Swift 中将 String 转换为 Long?
在 Java 中,我会这样做Long.parseLong("str", Character.MAX_RADIX)
。
我是Swift和iOS开发的新手,但我遇到了一个错误,导致我的应用程序在以下设备上运行时崩溃:
iPhone 4S iPhone 5 iPad 2 iPad Retina
这是被标记的代码:
// bin2dec - converts binary string into decimal string
func bin2dec(input: String) -> String {
var counter = countElements(input)
var digit: Character
var power = 1
var result = 0
while counter > 0 {
digit = input[advance(input.startIndex, counter-1)]
switch digit {
case "0":
result += 0
case "1":
result += 1 * power
default:
power = power / 2
break
}
counter--
power *= 2
}
return "\(result)"
} …
Run Code Online (Sandbox Code Playgroud) 我一直在寻找这个,但找不到有效或我理解的解决方案。
我在数据库“0x6c8c93”中有一个字符串,我想将其转换为 Uint,以便将其转换为颜色。
下面是我以前用来将 Uint 转换为颜色的函数。我刚刚将颜色图表中的十六进制值以这种格式 0x6c8c93 传递给它。但是现在我需要从数据库中提取一些值,所以我必须使用字符串。
class func UIColorFromHEX(hexValue: UInt) -> UIColor {
return UIColor(
red: CGFloat((hexValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((hexValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(hexValue & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}
Run Code Online (Sandbox Code Playgroud)
感谢帮助。