如何在Swift 4+;
在我当前的项目中,我正在尝试将八进制数转换成二进制数。我似乎找不到用Swift语言将八进制数转换成二进制格式的解决方案 我已经试过把它从八进制转换成十进制,然后把它转换成十进制再转换成二进制,但是答案是不同的,即使十进制再转换成二进制的过程是完美的。所以我认为错误在于八进制转换 这是我获取八进制数的代码:如何在Swift 4+;,swift,Swift,在我当前的项目中,我正在尝试将八进制数转换成二进制数。我似乎找不到用Swift语言将八进制数转换成二进制格式的解决方案 我已经试过把它从八进制转换成十进制,然后把它转换成十进制再转换成二进制,但是答案是不同的,即使十进制再转换成二进制的过程是完美的。所以我认为错误在于八进制转换 这是我获取八进制数的代码: let octy = octTextfield.text! let octalInt = Int(octy, radix: 0o10) // converts the string input
let octy = octTextfield.text!
let octalInt = Int(octy, radix: 0o10) // converts the string input to octal
您可以将
字符串
转换为数字,然后将给定的数字转换为其二进制表示形式:
func八进制(数字:String)->String?{
guard let tmp=Int(数字,基数:8)else{
归零
}
返回字符串(tmp,基数:2)
}
八进制二进制(数字:“123”)/“1010011”
您的八进制转换看起来是正确的。请注意,在将八进制字符串前缀“0o”转换为整数时,可能需要删除它。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小的、可复制的示例。你的意思是guard let tmp=Int(数字,基数:8)
My bad,copy粘贴错误:x