如何在Swift中从八进制转换为十进制

use*_*494 2 octal swift

嗨,我正在尝试将八进制数字快速转换为十进制。最简单的方法是什么?

Luc*_*tti 5

从八进制到十进制

Int为此有一个特定的初始化程序

let octal = 10
if let decimal = Int(String(octal), radix: 8) {
    print(decimal) // 8
}
Run Code Online (Sandbox Code Playgroud)

从十进制到八进制

let decimal = 8
if let octal = Int(String(decimal, radix: 8)) {
    print(octal) // 10
}
Run Code Online (Sandbox Code Playgroud)

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

注2Int对于具有更多奇数基数的数字的字符串表示形式,初始化程序可能会失败。请阅读下面@AMomchilov的评论。

  • 请记住:数字没有基数。必须使用基数来指定格式化数字以供人类解释的方式。这些字符串表示形式表示的大小与所有基数和字符串表示形式都存在明显的区别。 (3认同)
  • @ user190494:请查看我的更新。 (2认同)