gpt4 book ai didi

ios - 'Float' 在 Swift 中不能转换为 'UInt8'

转载 作者:行者123 更新时间:2023-11-28 10:02:31 26 4
gpt4 key购买 nike

我在 Swift 中使用以下公式时收到与类型相关的错误(“Float”无法转换为“UInt8”)。虽然我看过有类似问题的帖子,但我似乎无法弄清楚为什么在这种情况下首先会发生到 UInt8 的转换以及如何修复类型转换错误。我是这门语言的新手。

func compoundInterest (principal p: Float, interestRate r: Float,
timesCompounded n: Int, years t: Int) -> Float {
return p * pow(1 + (r / n), n * t)
}

compoundInterest(principal: 150, interestRate: 0.05, timesCompounded: 2, years: 10)

最佳答案

错误信息具有误导性,但问题在于 Swift 不进行隐式类型转换——只是将表达式的一部分拉出来:

r / n

r 是浮点类型。 n 是整数类型。在 C 中,提升规则将隐式地将 n 与 float 一致。这在 Swift 中不会发生。

您可能希望将所有整数类型显式转换为 Float 以解决该问题。

关于ios - 'Float' 在 Swift 中不能转换为 'UInt8',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25100618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com