gpt4 book ai didi

swift - 使用 Swift 将整数分成 double

转载 作者:IT王子 更新时间:2023-10-29 05:28:18 24 4
gpt4 key购买 nike

func avg(numbers: Int...) -> Double {
var sum = 0;
var i = 0;
for number in numbers {
sum += number;
++i;
}
return sum / i;
}
avg(42, 597, 12);

return sum/i 导致错误 Could not find an overload for '/' that accepts the supplied arguments.

我应该在这里做什么?

最佳答案

如果你想返回一个 Double,你应该在你的函数中处理 Double。将 sum 和 i 更改为 Doubles (0.0 vs 0) 并将每个数字转换为 double。像这样:

func avg(numbers: Int...) -> Double {
var sum = 0.0; //now implicitly a double
var i = 0.0;
for number in numbers {
sum += Double(number); //converts number to a double and adds it to sum.
++i;
}
return sum / i;
}
avg(42, 597, 12);

整数和 float 转换

整数和 float 类型之间的转换必须明确:

let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine
// pi equals 3.14159, and is inferred to be of type Double

这里用常量三的值创建了一个Double类型的新值,使得加法两边的类型相同。如果没有适当的转换,则不允许添加。

float 到整数的转换也是如此,因为整数类型可以用 Double 或 Float 值初始化:

let integerPi = Int(pi)
// integerPi equals 3, and is inferred to be of type Int

当以这种方式用于初始化新的整数值时,浮点值总是被截断。这意味着 4.75 变为 4,-3.9 变为 -3。

关于swift - 使用 Swift 将整数分成 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029990/

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