【发布时间】:2016-11-22 14:47:14
【问题描述】:
您好,我正在尝试快速将八进制数转换为十进制数。最简单的方法是什么?
【问题讨论】:
您好,我正在尝试快速将八进制数转换为十进制数。最简单的方法是什么?
【问题讨论】:
为此有一个特定的 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中括号不同。
注意 2:
Int初始化程序可能会因带有更多奇特基数的数字的字符串表示而失败。请阅读下面@AMomchilov 的评论。
【讨论】:
Int 初始化器对于具有更多奇特基数的数字的字符串表示可能会失败。无论如何你都不需要Int 转换,你可以打印String(_:, radix:) 调用的结果
您可以轻松地将八进制转换为十进制。 Swift 原生支持八进制语法。你必须在八进制数前写“0o”。
let number = 0o10
print(number) // it prints the number 8 in decimal
整数字面量
整数字面量表示未指定精度的整数值。经过 默认情况下,整数文字以十进制表示;你可以指定一个 使用前缀的备用基础。二进制字面量以 0b 开头,八进制 字面量以 0o 开头,十六进制字面量以 0x 开头。
希望对你有帮助
【讨论】: