我试图创建一个BMI计算器,它以用户的身高和体重为输入,然后计算他们的BMI;从那里开始,它使用一系列if-else语句返回一条消息给用户,说明他们是否健康/体重超标/体重不足。我可以让程序返回计算出的BMI值;但是当我合并if-else语句时,会出现“Cannot convert return expression of type'String'to return type'Float'”错误。
这是我的代码(到目前为止,我只做了一个if-else语句):

import UIKit

func bodyMassIndex (userHeight : Float, userWeight : Float) -> String {

    let userHeightSquared = (userHeight*userHeight)

    let userWeight = userWeight

    let userBMI = (userWeight/userHeightSquared)

    return userBMI

    if userBMI > 25 {
      return "Overweight"
    }
}

print(bodyMassIndex (userHeight : 1.82, userWeight: 90.7))

最佳答案

您只需将FloatuserBMI值包装成一个String

func bodyMassIndex (userHeight : Float, userWeight : Float) -> String {

    let userHeightSquared = (userHeight*userHeight)

    let userWeight = userWeight

    let userBMI = (userWeight/userHeightSquared)

    return String(userBMI)

    if userBMI > 25 {

        return "Overweight"

    }
}

关于ios - Xcode“无法将类型为'String'的返回表达式转换为类型为'Float'的返回值”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45361430/

10-11 11:28