如何在Swift中将Octal转换为Decimal

时间:2016-07-19 15:42:44

标签: swift octal

您好我想在swift中将八进制数转换为十进制数。最简单的方法是什么?

2 个答案:

答案 0 :(得分:5)

从八进制到十进制

有一个特定的Int初始值设定项
let octal = 10
if let decimal = Int(String(octal), radix: 8) {
    print(decimal) // 8
}

从十进制到八进制

let decimal = 8
if let octal = Int(String(decimal, radix: 8)) {
    print(octal) // 10
}
  

注1 :请注意:2个代码段中的括号不同。

     

注意2 Int初始值设定项可能会失败,因为数字的字符串表示具有更多异国情调的基数。请阅读以下 @AMomchilov 的评论。

答案 1 :(得分:1)

您可以轻松地从八进制转换为十进制。 Swift原生支持八进制语法。你必须写" 0o"在八进制数之前。

let number = 0o10
print(number) // it prints the number 8 in decimal
  

整数文字

     

整数文字表示未指定精度的整数值。通过   默认情况下,整数文字以十进制表示;你可以指定一个   使用前缀的备用基础。二进制文字以0b开头,八进制   文字以0o开头,十六进制文字以0x开头。

这是documentation's reference

我希望它可以帮到你