我正在解决一个问题并注意到将Float值转换为Int会产生错误的结果。下面是涉及转换的代码片段
while(height >= 0.0){
height = (v * t) - (0.5*g*t*t)
if(height >= maxHeight) {
d_time = t
maxHeight = height
print(d_time)
}
t += 0.1
}
let time = d_time * 10.0
print(d_time, Int(time)) // it prints 2.4, 23
return time
但是,如果我尝试转换文字,它的工作正确。 例如
let time = 2.4 * 10.0
print(time) // prints 24 as expected.
我试图找出问题,但无法得到它。 请帮助理解这种行为。
感谢。