Cod*_*rv9 1 binary double calculator operation swift
我正在尝试解决一个挑战,但代码一直失败。我需要对双打执行 ^ 操作。挑战是如果我调用一个函数 calculate(3,2,^) 那么我应该得到结果 9。
我尝试了下面的代码,但由于此错误而失败:
错误:二元运算符“^”不能应用于两个“双”操作数
下面是我的代码:
func calc(a: Double, b: Double, op: Character) -> Double {
var c:Double
c = 0
if op == "+"
{
c = a + b
}
else if op == "-"
{
c = a - b
}
else if op == "*"
{
c = a * b
}
else if op == "/"
{
c = a / b
}
else if op == "%"
{
let rem = a.truncatingRemainder(dividingBy: b)
c = rem
}
else if op == "^"
{
let z = a ^ b
c = z
}
return c
}
Run Code Online (Sandbox Code Playgroud)
^是按位异或运算符,而不是求幂。
改用该pow(_:_:)方法:
else if op == "^"
{
c = pow(a, b)
}
Run Code Online (Sandbox Code Playgroud)