【问题标题】:How to convert from Octal to Decimal in Swift如何在 Swift 中将八进制转换为十进制
【发布时间】:2016-11-22 14:47:14
【问题描述】:

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

【问题讨论】:

标签: swift octal


【解决方案1】:

从八进制到十进制

为此有一个特定的 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个代码sn-ps中括号不同。

注意 2Int 初始化程序可能会因带有更多奇特基数的数字的字符串表示而失败。请阅读下面@AMomchilov 的评论。

【讨论】:

  • 太棒了,你知道反之亦然吗?谢谢:)
  • @user190494 从十进制到八进制?
  • 是的,十进制到八进制。谢谢兄弟。
  • 记住:数字没有基数。基数是必要的,以指定一种格式化数字以供人类解释的方式。这些字符串表示形式所表达的量级与所有任何基数和字符串表示形式都不同。
  • @appzYourLife 我相当肯定Int 初始化器对于具有更多奇特基数的数字的字符串表示可能会失败。无论如何你都不需要Int 转换,你可以打印String(_:, radix:) 调用的结果
【解决方案2】:

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

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

整数字面量

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

这里是documentation's reference

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2011-08-21
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2011-03-31
    • 1970-01-01
    相关资源
    最近更新 更多